<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Mindscape.LightSpeed</name>
    </assembly>
    <members>
        <member name="T:ActiveSharp.PropertyMapping.OffsetUtil">
            <summary>
            Internal utility class for finding field offsets.
            </summary>
        </member>
        <member name="M:ActiveSharp.PropertyMapping.OffsetUtil.GetOffset``1(System.Object,``0@)">
            <summary>
            Internal utility method for finding field offsets.
            </summary>
            <typeparam name="T">The field type</typeparam>
            <param name="containingObject">The containing object</param>
            <param name="field">The field</param>
            <returns>The field offset</returns>
        </member>
        <member name="T:ActiveSharp.PropertyMapping.SetterCodingConventionException">
            <summary>
            Thrown if a property setter, which is expected to follow the convention used by the PropertyMap system,
            does not. (The convention is simply to call SetValue(ref T field, T value) ).
            </summary>
        </member>
        <member name="M:ActiveSharp.PropertyMapping.SetterCodingConventionException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ActiveSharp.PropertyMapping.SetterCodingConventionException"/> class.
            </summary>
        </member>
        <member name="M:ActiveSharp.PropertyMapping.SetterCodingConventionException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:ActiveSharp.PropertyMapping.SetterCodingConventionException"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:ActiveSharp.PropertyMapping.SetterCodingConventionException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:ActiveSharp.PropertyMapping.SetterCodingConventionException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:ActiveSharp.Utils.LazyDictionary`2">
            <summary>
            A dictionary designed for lazy initialization of its contents.  
            Is effectively read-only, with just-in-time initialization of its contents.
            Intended for scenarios with lots of reads, but with the only writes being to initialise the contents.
            </summary>
            <remarks>This class is at its best when you can initialise the set keys somewhat eagerly.
            You don't have to initialise all the keys up front, but if you can load the keys in "batches" that 
            makes it more efficient. See constructor for details.</remarks>
        </member>
        <member name="M:ActiveSharp.Utils.LazyDictionary`2.#ctor(ActiveSharp.Utils.EagerLoadKeysDelegate{`0},ActiveSharp.Utils.LazyLoadValueDelegate{`0,`1})">
            <summary>
            Constructs new dictionary, complete with the delegate(s) nessary to use it
            </summary>
            <param name="getRelatedKeys">If you can eager load keys, supply this delegate.  If you cannot eager load keys, pass null for this parameter,
            but be aware that, in that case, building up the full set of keys becomes an order(n^2) operation (where n
            is the number of times that a previously unseen key is used).
            The delegate is called when a previously-unseen key is looked up in the dictionary. The previously unseen key
            is passed to the delegate.  The delegate should respond by enumerating all OTHER keys which can also be 
            eagerly loaded into the dictionary at this time.  (Their VALUES will still be loaded lazily, by the other delegate)
            You may, optionally, include the key that is passed to the delegate in the delegate's results.
            As an example of the intended usage, consider a dictionary keyed by <see cref="T:System.Type"/>.
            Whenever you do a lookup by a type that is not yet in the dictionary, this delegate will fire.  You may respond
            by returning an enumeration of all other types in the same assembly. I.e. as soon as we see a type from a new
            assembly, eagerly load _all_ the types in that assembly.
            </param>
            <param name="getValue">Gets the value that corresponds to a key.  This delegate is call for each key the 
            first time that key is looked up in the dictionary.  (For keys that are eager-loaded but never looked up,
            this delegate is never called.)  You must supply this delegate.</param>
        </member>
        <member name="M:ActiveSharp.Utils.LazyDictionary`2.AddAdditionalKeysIfPossible(System.Collections.Generic.Dictionary{`0,ActiveSharp.Utils.LazyDictionary{`0,`1}.ValueContainer},`0)">
            <summary>
            Add any extra keys that can be eagerly supplied by the user-specified delegate
            </summary>
        </member>
        <member name="P:ActiveSharp.Utils.LazyDictionary`2.Item(`0)">
            <summary>
            Return the value associated with the key.  If key is not present in dictionary, it will be added automatically.
            </summary>
        </member>
        <member name="T:ActiveSharp.Utils.LazyDictionary`2.ValueContainer">
            <summary>
            A very simple wrapper around a value.  
            </summary>
            <remarks>We put <see cref="T:ActiveSharp.Utils.LazyDictionary`2.ValueContainer"/>s into the underlying dictionary.  Later, we locklessly
            update their Value property. That's safe because because single-value updates are atomic, and as far as 
            the dictionary itesel is concerned, we didn't update anything (niether the key not the value, but rather something
            inside the vale), so we don't need to protect the dictionary with a lock while we do that.</remarks>
        </member>
        <member name="T:ActiveSharp.Utils.UnexpectedCaseException">
            <summary>
            Throw in default branch of case statements if there default branch should never be hit,
            or at end of if/else ladder
            </summary>
            <remarks>Is for defensive programming - i.e. throw this in branches which should "never" happen 
            (which is why it takes no message, no point in cluttering code with descriptions of such rare events,
            just the call stack will tell the caller enough) </remarks>
        </member>
        <member name="M:ActiveSharp.Utils.UnexpectedCaseException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ActiveSharp.Utils.UnexpectedCaseException"/> class.
            </summary>
        </member>
        <member name="M:ActiveSharp.Utils.UnexpectedCaseException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:ActiveSharp.Utils.UnexpectedCaseException"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:ActiveSharp.Utils.UnexpectedCaseException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:ActiveSharp.Utils.UnexpectedCaseException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:Mindscape.LightSpeed.AttachMode">
            <summary>
            Describes the behavior to be used when calling UnitOfWork.Attach()
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.AttachMode.Attach">
            <summary>
            Attaches the entity to the UnitOfWork and imports it into the IdentityMap for that UnitOfWork
            Entities which are associated with this object and are currently loaded will also be attached
            </summary>
            <remarks>
            This is the default and existing behavior of UnitOfWork.Attach
            </remarks>
        </member>
        <member name="F:Mindscape.LightSpeed.AttachMode.Import">
            <summary>
            Fetches a current copy of the entity either from the IdentityMap or failing that from the database
            and then copies the values from the supplied entity into the loaded entity. The loaded entity is
            returned from the call.
            </summary>
            <remarks>
            This mode has been introduced in LightSpeed 4.0
            </remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.DiscriminatedGenericEntityAttribute">
            <summary>
            Indicates that a class is a generic entity type.  All instances of the generic
            type are stored in the same table, with a discriminator column used to distinguish
            between different type parameters.  This is intended to support utility entities
            so that they can be readily associated
            </summary>
            <remarks>Generic types to which this attribute is applied must be sealed and
            must have exactly one type parameter, which must derive from Entity.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.DiscriminatedGenericEntityAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.DiscriminatedGenericEntityAttribute"/> class.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.DiscriminatedGenericEntityAttribute.DiscriminatorAttribute">
            <summary>
            Gets or sets the name of the attribute (field) in which to store the discriminator.
            The default is "Type".
            </summary>
            <remarks>The attribute must be the name of a LightSpeed field.  Virtual discriminators
            are not supported.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.NullAssociationAttribute">
            <summary>
            Indicates that an association field will always be set to null and will therefore
            never be used. This allows LightSpeed to suspend certain checks that would be
            required for 'real' associations.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.QueryFilterAttribute">
            <summary>
            Specifies that all queries on this entity type, or on any entity that implements
            this interface, should be subjected to an additional filter.
            </summary>
            <remarks>Example applications are currency (return only entities that are current)
            and security (return only entities that the user is allowed to access).</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.QueryFilterAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.QueryFilterAttribute"/> class.
            </summary>
            <param name="filterType">The type of query filter.  The type must implement <see cref="T:Mindscape.LightSpeed.Querying.IQueryFilter"/>.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.QueryFilterAttribute.FilterType">
            <summary>
            Gets the type of filter.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.UnversionedPartialUpdateAttribute">
            <summary>
            Notifies the framework that an entity should use unversioned partial updates.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.CrudProcedureAttribute">
            <summary>
            Signals that a class or <see cref="T:Mindscape.LightSpeed.EntityCollection`1"/> field should use 
            stored procedures for CRUD operations, instead of accessing a table directly.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.CrudProcedureAttribute.Select">
            <summary>
            Gets or sets the name of the stored procedure which selects all entities
            of the type (when applied to a class) or all members of the collection (when
            applied to an <see cref="T:Mindscape.LightSpeed.EntityCollection`1"/> field.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.CrudProcedureAttribute.SelectById">
            <summary>
            Gets or sets the name of the stored procedure which selects a single
            entity by its ID.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.CrudProcedureAttribute.Insert">
            <summary>
            Gets or sets the name of the stored procedure which inserts a new entity.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.CrudProcedureAttribute.Update">
            <summary>
            Gets or sets the name of the stored procedure which updates an existing entity.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.CrudProcedureAttribute.Delete">
            <summary>
            Gets or sets the name of the stored procedure which deletes an existing entity.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ForeignKeyFieldAttribute">
            <summary>
            Specifies the name of the field or fields which contains the foreign key value for
            a to-one association.
            </summary>
            <remarks>This attribute may be applied only to fields of type <see cref="T:Mindscape.LightSpeed.EntityHolder`1"/>.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.ForeignKeyFieldAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.ForeignKeyFieldAttribute"/> class.
            </summary>
            <param name="fieldName">The name of the field containing the foreign key value for this association.</param>
            <remarks>fieldName may be a dotted path into a value object.  At present, only dotted paths into a composite
            Id are supported.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.ForeignKeyFieldAttribute.#ctor(System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.ForeignKeyFieldAttribute"/> class.
            </summary>
            <param name="fieldNames">The names of the fields containing the foreign key value for this association.</param>
            <remarks>
            This overload is used to map a composite foreign key to the columns of the primary key.
            You must specify more than one field, and each field name must be be a dotted
            path into the entity's composite Id.  Finally, the field names must be in the order that they
            should be passed to the constructor of the foreign composite key type.
            </remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.ForeignKeyFieldAttribute.FieldName">
            <summary>
            Gets the name of the field containing the foreign key value for this association.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ForeignKeyFieldAttribute.FieldNames">
            <summary>
            Gets the names of the fields containing the composite foreign key value for this association.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.AssociationResolverAttribute">
            <summary>
            Specifies custom logic for traversing an association.
            </summary>
            <remarks>There are some limitations and restrictions on the use of custom association resolvers.
            It is recommended that you implement a custom resolver only if advised by Mindscape support.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.AssociationResolverAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.AssociationResolverAttribute"/> class.
            </summary>
            <param name="resolverType">A type which implements custom traversal logic.  This type
            must implement <see cref="T:Mindscape.LightSpeed.IAssociationResolver"/>.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.AssociationResolverAttribute.ResolverType">
            <summary>
            Gets the type which implements the custom traversal logic.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.AssociationResolverAttribute.TreatAsTarget">
            <summary>
            Gets or sets if this should be considered the target end of a one-to-one association where both
            ends have the AssociationResolverAttribute.  In this case, the end which does not have a field
            named after the EntityHolder plus the Id suffix should set TreatAsTarget to true.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.IAssociationResolver">
            <summary>
            Implements custom logic for traversing an association.  See <see cref="T:Mindscape.LightSpeed.AssociationResolverAttribute"/>.
            </summary>
            <remarks>There are some limitations and restrictions on the use of custom association resolvers.
            It is recommended that you implement a custom resolver only if advised by Mindscape support.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.IAssociationResolver.GetQueryExpression(Mindscape.LightSpeed.Entity)">
            <summary>
            Gets the query expression for selecting the associated entity or
            entities.  If <see cref="T:Mindscape.LightSpeed.AssociationResolverAttribute"/> is being applied
            to an EntityHolder, the query expression must select a single entity;
            if to an EntityCollection, the query expression may select multiple entities.
            </summary>
            <param name="sourceEntity">The entity containing the association to be loaded.</param>
            <returns>A query expression which, when executed, will return the desired
            associated entity or entities.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.IAssociationResolver.SetForeignKey(Mindscape.LightSpeed.Entity,System.Object)">
            <summary>
            Sets fields in a child entity to represent the specified foreign key value.
            This method need not be implemented when <see cref="T:Mindscape.LightSpeed.AssociationResolverAttribute"/>
            is being applied to an EntityCollection.
            </summary>
            <param name="childEntity">The entity whose foreign key is to be set.</param>
            <param name="parentId">The value to which the foreign key is to be set.</param>
        </member>
        <member name="T:Mindscape.LightSpeed.IndexedAttribute">
            <summary>
             Signal to LightSpeed that the target field should be included
             when indexing a model with a full text search engine.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.InheritanceMappingAttribute">
            <summary>
            Specifies how an inheritance hierarchy is mapped to tables in the
            database.  This attribute should be applied only to the root class
            of an inheritance hierarchy.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.InheritanceMappingAttribute.#ctor(Mindscape.LightSpeed.InheritanceMappingKind)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.InheritanceMappingAttribute"/>.
            </summary>
            <param name="kind">The kind of mapping from entity classes to database tables.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.InheritanceMappingAttribute.Kind">
            <summary>
            Gets the kind of mapping from entity classes to database tables.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.InheritanceMappingKind">
            <summary>
            Specifies the kind of mapping from entity classes to database tables in an
            inheritance hierarchy.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.InheritanceMappingKind.SingleTableInheritance">
            <summary>
            Single table inheritance, also known as table per hierarchy.  A single database table
            represents all classes in the inheritance hierarchy.  This is the default.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.InheritanceMappingKind.ClassTableInheritance">
            <summary>
            Class table inheritance.  There is a separate table for
            each class in the hierarchy, and each table contains only columns for the
            fields introduced at that level of the hierarchy (plus the Id column).
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.LoadPolicy">
            <summary>
            Determines the load behaviour for an entity.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.LoadPolicy.LoadPolicyAttribute">
            <summary>
            Specifies the load behaviour for an entity.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.LoadPolicy.LoadPolicyAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LoadPolicy.LoadPolicyAttribute"/> class.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.LoadPolicy.DefaultFieldsToLazyDuringAggregateLoadAttribute">
            <summary>
            Specifies that an entity's fields should not be loaded when the entity is loaded
            as a cascading part of a named aggregate, except where specified on individual fields
            using <see cref="T:Mindscape.LightSpeed.EagerLoadAttribute"/>.
            </summary>
            <remarks>This policy does not affect load behaviour when the entity is loaded directly,
            as part of a lazy load, or as part of an eager load when no named aggregate is specified
            on the query.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.LoadPolicy.DefaultFieldsToLazyDuringAggregateLoadAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LoadPolicy.DefaultFieldsToLazyDuringAggregateLoadAttribute"/> class.
            </summary>
            <param name="aggregateName"></param>
        </member>
        <member name="P:Mindscape.LightSpeed.LoadPolicy.DefaultFieldsToLazyDuringAggregateLoadAttribute.AggregateName">
            <summary>
            Gets the aggregate under which fields should default to being lazy-loaded.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.LoadPolicy.AllFieldsEagerDuringNormalLoadAttribute">
            <summary>
            Specifies that an entity's fields should be eager loaded during a non-aggregate load, even
            if they are marked as being part of a named aggregate.
            </summary>
            <remarks>A 'non-aggregate' load is when the entity is loaded directly, when the entity is
            lazy loaded by traversing a lazy association, or when the entity is unconditionally eager loaded
            (no named aggregate specified).</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.NoReverseAssociationAttribute">
            <summary>
            Specifies that an association has no reverse association.
            This attribute may be applied only to to-one associations where a foreign key field
            is also present.
            </summary>
            <remarks>You should use this attribute only when the associated entity
            is cached.  If the associated entity is not cached, this will result in a large
            number of superfluous requests to the database.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.QueryPropertyAttribute">
            <summary>
            When applied to a field, maps a property name to that field so that the property
            name can be used in Entity.Attribute expressions or LINQ queries instead of
            the private field name.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.QueryPropertyAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.QueryPropertyAttribute"/> class.
            </summary>
            <param name="name">The name to be mapped to the field in query expressions.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.QueryPropertyAttribute.Name">
            <summary>
            Gets the name that is mapped to the field in query expressions.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ValueFieldAttribute">
            <summary>
            Identifies a field as a persistent value.  This attribute is required only when
            LightSpeed is unable to infer that the field is persistent, e.g. database-specific
            reference types.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.RemovalBehaviorAction">
            <summary>
            Indicates which action should be applied to any child relationships when the deletion of a parent entity occurs
            The two options are to set the relationship as null which is the default behavior, or to take no action which will
            throw an exception when a parent is removed which would leave a child orphaned
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.RemovalBehaviorAction.SetNull">
            <summary>
            Sets the value of the entity holder to null
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.RemovalBehaviorAction.NoAction">
            <summary>
            Allows no action to be taken on removal, which will cause an exception to be thrown if attempting to remove
            the parent entity of a child which has this action applied
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.RemovalBehaviorAction.NoActionNoCheck">
            <summary>
            No action is taken on removal, and no check is performed to verify that the parent can be safely deleted.
            This will cause a database error if the entity has dependent children, unless a trigger or foreign key
            cascade action is used at the database level.  Because LightSpeed cannot synchronise its in-memory deletions
            with the cascade effects in the database, you should save and reset the unit of work after removing any entity
            with an association with this behavior.  This behavior may be applied only to recursive associations,
            or if the reverse association of the entity holder is a null association (i.e. the entity holder is one-way).
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.RemovalBehaviorAttribute">
            <summary>
            Notifies the framework which action to apply to child relationships when deleting an entity through a UnitOfWork.Remove()
            or cascaded delete. This attribute is currently only supported on EntityHolder declarations and is to be applied
            on the child side of the relationship.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.RemovalBehaviorAttribute.Action">
            <summary>
            The action to be applied to the child entity
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ValueObjectColumnAttribute">
            <summary>
            Overrides the default mapping of value object fields to database column
            names, for a specific occurrence of the value object type only.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.ValueObjectColumnAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.ValueObjectColumnAttribute"/> class.
            </summary>
            <param name="field">The field in the value object to be mapped to a column.</param>
            <param name="column">The target column name.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.ValueObjectColumnAttribute.Field">
            <summary>
            Gets the name of the field in the value object.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ValueObjectColumnAttribute.Column">
            <summary>
            Gets the target column name.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Audit.AuditInfoMode">
            <summary>
            Specifies how to generate audit information for automatic
            audit properties such as CreatedBy (track creator), UpdatedBy
            (track last modified by) and DeletedBy (track deleted by).
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Audit.AuditInfoMode.None">
            <summary>
            Do not automatically populate audit fields.  This is the default.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Audit.AuditInfoMode.WindowsIdentity">
            <summary>
            Populate audit fields using the Windows identity of the current user.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Audit.AuditInfoMode.HttpContext">
            <summary>
            Populate audit fields from the User property of the current HttpContext
            (assumes a Web application which performs authentication).
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Audit.AuditInfoMode.Custom">
            <summary>
            Populate audit fields using a custom strategy.  You must set the
            <see cref="P:Mindscape.LightSpeed.LightSpeedContext.CustomAuditInfoStrategy"/>.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Audit.IAuditInfoStrategy">
            <summary>
            Defines a strategy for generating information for automatic audit properties
            such as CreatedBy (track creating user) and UpdatedBy (track updating user).
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Audit.IAuditInfoStrategy.GetCurrentUser">
            <summary>
            Called by LightSpeed to get the user name to be used in an automatic audit column.
            </summary>
            <returns>The user to be used in an automatic audit column.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Audit.IAuditInfoStrategy.Mode">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.Audit.AuditInfoMode"/>.  Custom implementations should
            return <see cref="F:Mindscape.LightSpeed.Audit.AuditInfoMode.Custom"/>.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ChangedValue">
            <summary>
            A record containing change information for a single field of a single entity.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ChangedValue.Name">
            <summary>
            Gets the property name relating to the field that has been altered.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ChangedValue.OriginalValue">
            <summary>
            Gets the original field value before it was changed.
            </summary>
            <remarks>The ChangeTracker.Changes collection represents accumulated changes since the
            entity was last saved.  For ChangedValue objects in this collection, the OriginalValue will
            therefore be the value at the time the entity was last saved.  A ChangeTrackedEventArgs
            represents the tracking of an individual change.  In this case, the OriginalValue will be
            the value before the change, which may be different from the value at last save if a property
            is changed multiple times.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.ChangedValue.ModifiedValue">
            <summary>
            Gets the value that was applied to the field as the change.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ChangeKind">
            <summary>
            The kind of changes that can be tracked in a <see cref="T:Mindscape.LightSpeed.ChangeTrackedEventArgs"/>.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.ChangeKind.Immediate">
            <summary>
            An entity property was changed normally.  The <see cref="P:Mindscape.LightSpeed.ChangeTrackedEventArgs.ChangedValue"/>
            contains the details.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.ChangeKind.Pending">
            <summary>
            An entity property was changed within a BeginEdit() transaction.  The <see cref="P:Mindscape.LightSpeed.ChangeTrackedEventArgs.ChangedValue"/>
            contains the details.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.ChangeKind.Commit">
            <summary>
            Pending changes were committed to the entity using EndEdit().  The
            <see cref="P:Mindscape.LightSpeed.ChangeTrackedEventArgs.ChangedValue"/> will be null.  Note that this
            refers to EndEdit(), not to flushing changes to the database.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.ChangeKind.Cancel">
            <summary>
            Pending changes to the entity were cancelled using CancelEdit().  The
            <see cref="P:Mindscape.LightSpeed.ChangeTrackedEventArgs.ChangedValue"/> will be null.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ChangeTrackedEventArgs">
            <summary>
            Contains information about the <see cref="E:Mindscape.LightSpeed.ChangeTracker.ChangeTracked"/> event.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ChangeTrackedEventArgs.Entity">
            <summary>
            Gets the entity on which the change was tracked.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ChangeTrackedEventArgs.ChangedValue">
            <summary>
            Gets a record containing change information.  This will be null if the <see cref="P:Mindscape.LightSpeed.ChangeTrackedEventArgs.ChangeKind"/>
            is Commit or Cancel, as these change kinds always apply to the collection of pending changes.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ChangeTrackedEventArgs.ChangeKind">
            <summary>
            Gets the kind of change that was tracked.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ChangeTracker">
            <summary>
            Tracks changes made to a single entity.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ChangeTracker.TrackingMode">
            <summary>
            Gets or sets the current tracking mode being used by this tracker.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ChangeTracker.Changes">
            <summary>
            Gets a collection of <see cref="T:Mindscape.LightSpeed.ChangedValue"/>s with information about the changes made to the entity.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.ChangeTracker.ChangeTracked">
            <summary>
            Occurs when a change is tracked.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ChangeTrackingMode">
            <summary>
            The mode to be used when tracking field changes to entities.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.ChangeTrackingMode.None">
            <summary>
            Do not track entity field changes.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.ChangeTrackingMode.ChangesOnly">
            <summary>
            Track entity fields that have been changed.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Configuration.ContextSettings">
            <summary>
             A <see cref="T:System.Configuration.ConfigurationElement"/> representing the configuration of
             a single <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.ConnectionString">
            <summary>
            The configured connection string.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.SearchEngineFileLocation">
            <summary>
            The path to the full text search index file(s).
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.SearchEngineClass">
            <summary>
            The name of an <see cref="T:Mindscape.LightSpeed.Search.ISearchEngine"/> implementation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.FactoryClass">
            <summary>
            The name of an <see cref="T:Mindscape.LightSpeed.IUnitOfWorkFactory"/> implementation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.InterceptorClass">
            <summary>
            The name of an <see cref="T:Mindscape.LightSpeed.Profiling.Interceptor"/> implementation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.Name">
            <summary>
            The name of this set of configuration data. Used when creating a <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.ConnectionStringName">
            <summary>
            The name of the configured connection string.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.DataProvider">
            <summary>
            The configured <see cref="T:Mindscape.LightSpeed.DataProvider"/>
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.IdentityMethod">
            <summary>
            The configured <see cref="T:Mindscape.LightSpeed.IdentityMethod"/>
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.AutoTimestamps">
            <summary>
            The configured <see cref="T:Mindscape.LightSpeed.AutoTimestampMode"/>
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.AuditInfo">
            <summary>
            The configured <see cref="T:Mindscape.LightSpeed.Audit.AuditInfoMode"/>
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.CommandTimeout">
            <summary>
            The configured command timeout, in seconds.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.LoggerClass">
            <summary>
            The name of an <see cref="T:Mindscape.LightSpeed.Logging.ILogger"/> implementation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.VerboseLogging">
            <summary>
            Whether verbose logging is turned on.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.CacheClass">
            <summary>
            The name of an <see cref="T:Mindscape.LightSpeed.Caching.ICache"/> implementation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.NamingStrategyClass">
            <summary>
            The name of an <see cref="T:Mindscape.LightSpeed.INamingStrategy"/> implementation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.DisplayNamingStrategyClass">
            <summary>
            The name of an <see cref="T:Mindscape.LightSpeed.IDisplayNamingStrategy"/> implementation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.PluralizeTableNames">
            <summary>
            Whether table names are inferred as plural.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.QuoteIdentifiers">
            <summary>
            Whether identifiers should be quoted in generated SQL
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.DetectPropertyNames">
            <summary>
            Whether LightSpeed automatically detects property names.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.UpdateBatchSize">
            <summary>
            The maximum number of SQL statements per batch.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.IdentityBlockSize">
            <summary>
            The number of identity values allocated at once.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.Schema">
            <summary>
            The default target database schema.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettings.CascadeDeletes">
            <summary>
            The default target database schema.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.DataServices.DataServiceUnitOfWork">
            <summary>
            Base class for unit of work types that provide ADO.NET Data Services.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.UnitOfWork">
            <summary>
            Defines the contract for a Unit of Work. A Unit of Work maintains a list of objects
            affected by a business transaction and coordinates the writing out of changes and
            the resolution of concurrency problems.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.UnitOfWorkBase">
            <summary>
            Provides common implementation for overloads of <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> methods.
            </summary>
            <remarks>Consider deriving from this class if you are creating a mock, fake or stub 
            IUnitOfWork implementations for use in unit testing, and wish to reduce the number
            of methods your test double must implement.  For production code, use <see cref="T:Mindscape.LightSpeed.UnitOfWork"/>
            or a derived class thereof.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.IUnitOfWork">
            <summary>
            Defines the contract for a Unit of Work. A Unit of Work maintains a list of objects
            affected by a business transaction and coordinates the writing out of changes and
            the resolution of concurrency problems.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Calculate(System.String,System.String,Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <param name="query">A <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The result of the calculation.</returns>
            <example>
            <code>
            Query query = new Query(typeof(Product), Entity.Attribute("OrderId") == 101);
            int sumOfPricesInOrder101 = (int)(unitOfWork.Calculate("SUM", "Price", query));
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Calculate(System.String,Mindscape.LightSpeed.Querying.IdentifierExpression,Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <param name="query">A <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The result of the calculation.</returns>
            <remarks>This overload allows you to specify functions on the attribute over which the calculation
            is performed.  It is rarely used directly: it is normally preferable to use a LINQ query instead.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Calculate(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Performs a database calculation (scalar query) using a database stored procedure.
            </summary>
            <param name="query">The database stored procedure query.</param>
            <returns>The result of the query.</returns>
            <example>
            <code>
            ProcedureQuery query = new ProcedureQuery("GetSumOfPrices",
              new ProcedureParameter("orderId", 101));
            int sum = (int)(unitOfWork.Calculate(query));
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Execute(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Executes a database stored procedure.
            </summary>
            <param name="query">The database stored procedure.</param>
            <returns>The number of rows affected by the query.</returns>
            <example>
            <code>
            ProcedureQuery query = new ProcedureQuery("InsertCopyOfProduct",
              new ProcedureParameter("productIdToCopy", 201));
            int rowsAffected = _unitOfWork.Execute(query);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Detach(Mindscape.LightSpeed.Entity)">
            <summary>
            Detaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> from the current unit of work.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to detach.</param>
            <example>
            <code>
            Customer selectedForEditing = GetSelectedCustomerFromUI();
            unitOfWork.Detach(selectedForEditing);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.FindOne``1(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>The <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
            <example>
            <code>
            Query query = new Query(Entity.Attribute("Id") == 101);
            Order order = unitOfWork.FindOne&lt;Order&gt;(query);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.FindOne(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>The <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
            <example>
            <code>
            Query query = new Query(typeof(Order), Entity.Attribute("Id") == 101);
            Entity order = unitOfWork.FindOne(query);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find``1(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns a strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>A strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
            <example>
            <code>
            Query query = new Query(Entity.Attribute("OrderId") == 101);
            IList&lt;Product&gt; products = unitOfWork.Find&lt;Product&gt;(query);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.FindBySql``1(System.Data.IDbCommand)">
            <summary>
            Returns a strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            represent the records returned by the specified database command.
            </summary>
            <param name="command">The command.</param>
            <returns>A strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            represent the records returned by the command.</returns>
            <example>
            <code>
            IDbCommand command = lightSpeedContext.DataProviderObjectFactory.CreateCommand();
            command.CommandText = "SELECT Id, Name, Price FROM Products";
            command.CommandType = CommandType.Text;
            IList&lt;ProductSummary&gt; summaries = unitOfWork.FindBySql&lt;ProductSummary&gt;(command);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>A list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
            <example>
            <code>
            Query query = new Query(typeof(Product), Entity.Attribute("OrderId") == 101);
            IList&lt;Entity&gt; products = unitOfWork.Find(query);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find(Mindscape.LightSpeed.Querying.Query,System.Collections.IList)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification. Places the
            results into the provided collection.
            </summary>
            <param name="query">The query.</param>
            <param name="results">The collection where the results are placed.</param>
            <example>
            <code>
            Query query = new Query(typeof(Product), Entity.Attribute("OrderId") == 101);
            IList results = new ObservableCollection&lt;Product&gt;();
            unitOfWork.Find(query, results);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.Querying.EntityMap)">
            <summary>
            Gets the set of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that match the provided query specification and returns the results
            as an <see cref="T:Mindscape.LightSpeed.EntityTuple"/> grouped by entity type.
            </summary>
            <param name="query">The query.</param>
            <param name="typeMap">The set of entity types to query for.</param>
            <returns>The results of the grouping.</returns>
            <remarks>This method is used in grouping scenarios.  You will not normally need to call
            this method from your code: it is easier to perform grouping queries using LINQ.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find``2(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Gets the set of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that match the provided query specification and returns the results
            as an <see cref="T:Mindscape.LightSpeed.EntityTuple"/> grouped by entity type.
            </summary>
            <param name="query">The query.</param>
            <typeparam name="TEntity1">The type of the first entity.</typeparam>
            <typeparam name="TEntity2">The type of the second entity.</typeparam>
            <returns>The results of the grouping.</returns>
            <remarks>This method is used in grouping scenarios.  You will not normally need to call
            this method from your code: it is easier to perform grouping queries using LINQ.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find(Mindscape.LightSpeed.Querying.ProcedureQuery,System.Collections.IList)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.ProcedureQuery"/> specification. Places the
            results into the provided collection.
            </summary>
            <param name="query">The query.</param>
            <param name="results">The collection where the results are placed.</param>
            <example>
            <code>
            ProcedureQuery query = new ProcedureQuery("GetProductsInOrder",
              new ProcedureParameter("orderId", 101));
            IList results = new ObservableCollection&lt;Product&gt;();
            unitOfWork.Find(query, results);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Project(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns an <see cref="T:System.Data.IDataReader"/> containing the results of the specified
            projection query. A projection query returns only a subset of fields of an entity.
            At lease one field name must have been added to the <see cref="P:Mindscape.LightSpeed.Querying.Query.Projection"/>
            collection.
            </summary>
            <param name="query">The query.</param>
            <returns>An <see cref="T:System.Data.IDataReader"/> containing the results of the specified
            projection query.</returns>
            <example>
            <code>
            Query query = new Query(typeof(Product), Entity.Attribute("OrderId") == 101);
            query.Projection.Add("Name");
            query.Projection.Add("Price");
            
            using (IDataReader reader = unitOfWork.Project(query))
            {
              while (reader.Read())
              {
                yield return new { Name = reader.GetString(0), Price = reader.GetDecimal(1) };
              }
            }
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Project(Mindscape.LightSpeed.Querying.Query,System.Type)">
            <summary>
            Performs a query with a projection, and materialises the results as the specified type.
            </summary>
            <param name="query">The query to be performed.</param>
            <param name="projectedType">The type of object to be materialised from the query results.</param>
            <returns>A list of objects of the specified type.</returns>
            <remarks>The results of the projection are not entities, and are not associated with
            the unit of work.</remarks>
            <example>
            <code>
            Query query = new Query(typeof(Product));
            query.Projection.Add("Name");
            query.Projection.Add("Price");
            
            // PricingInfo is a non-entity class with Name and Price properties
            IList pricingInfo = unitOfWork.Project(query, typeof(PricingInfo));
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Project``1(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a query with a projection, and materialises the results as the specified type.
            </summary>
            <param name="query">The query to be performed.</param>
            <typeparam name="T">The type of object to be materialised from the query results.</typeparam>
            <returns>A list of objects of the specified type.</returns>
            <remarks>The results of the projection are not entities, and are not associated with
            the unit of work.</remarks>
            <example>
            <code>
            Query query = new Query(typeof(Product));
            query.Projection.Add("Name");
            query.Projection.Add("Price");
            
            // PricingInfo is a non-entity class with Name and Price properties
            IList&lt;PricingInfo&gt; pricingInfo = unitOfWork.Project&lt;PricingInfo&gt;(query);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Add(Mindscape.LightSpeed.Entity)">
            <summary>
            Registers the specified entity as a pending insert.
            </summary>
            <param name="entity">The entity.</param>
            <example>
            <code>
            Customer customer = new Customer("S Baldrick");
            unitOfWork.Add(customer);
            unitOfWork.SaveChanges();
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Remove(Mindscape.LightSpeed.Entity)">
            <summary>
            Registers the specified entity as a pending delete.
            </summary>
            <param name="entity">The entity.</param>
            <example>
            <code>
            Customer customer = unitOfWork.FindById&lt;Customer&gt;(301);
            unitOfWork.Remove(customer);
            unitOfWork.SaveChanges();
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Remove(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Deletes entities by executing SQL directly against the database. NB. No entities are
            materialized and therefore no callbacks run, entities are not removed from the second-level
            cache or full-text search index etc.
            </summary>
            <param name="query">A query used to determine the entities to delete.</param>
            <example>
            <code>
            // Delete all user accounts which have been inactive for more than 180 days
            DateTime expiryDate = DateTime.UtcNow.AddDays(-180);
            Query query = new Query(typeof(UserAccount), Entity.Attribute("LastActive") &lt; expiryDate);
            unitOfWork.Remove(query);
            unitOfWork.SaveChanges();
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Update(Mindscape.LightSpeed.Querying.Query,System.Object)">
            <summary>
            Updates entities by executing SQL directly against the database. NB. No entities are
            materialized and therefore no callbacks run, cached entities are not updated in the second-level
            cache or full-text search index etc.
            </summary>
            <param name="query">A query used to determine the entities to update.</param>
            <param name="attributes">The attributes to be updated. This argument can either be an
            <see cref="T:System.Collections.Generic.IDictionary`2"/>, or, an object whose properties correspond to the
            target attributes (useful when using an anonymous type).</param>
            <example>
            <code>
            // Set the IsBadPaymentRisk flag on all customers who are more than 180 days behind on their payments
            DateTime overdueDate = DateTime.UtcNow.AddDays(-180);
            Query query = new Query(typeof(UserAccount),
              Entity.Attribute("Balance") &lt; 0
                &amp;&amp; Entity.Attribute("LastPaymentDate") &lt; overdueDate);
            unitOfWork.Update(query, new { IsBadPaymentRisk = true });
            unitOfWork.SaveChanges();
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.SaveChanges(System.Boolean)">
            <summary>
            Flushes pending changes to the database.
            </summary>
            <param name="reset">if set to <c>true</c> then clears all existing entities
            from the <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> so that they will be reloaded on subsequent
            queries.</param>
            <example>
            <code>
            // Prepare changes to the database in the unit of work
            var customer = unitOfWork.FindOne&lt;Customer&gt;(Entity.Attribute("Name") == "Arthur Wellesley");
            customer.Name = "The Duke of Wellington";
            unitOfWork.Add(new Customer { Name = "Gertrude Perkins" });
            unitOfWork.Add(new Dogsbody { Name = "S Baldrick" });
            unitOfWork.Remove(unitOfWork.FindOne&lt;Customer&gt;(Entity.Attribute("Name") == "Lord Smedley");
            // Save the changes to the database
            unitOfWork.SaveChanges(false);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.BeginTransaction(System.Data.IsolationLevel)">
            <summary>
            Begins a transaction.
            </summary>
            <param name="isolationLevel">The <see cref="T:System.Data.IsolationLevel"/> of the transaction</param>
            <returns>An <see cref="T:System.Data.IDbTransaction"/></returns>
            <example>
            <code>
            using (IDbTransaction tx = unitOfWork.BeginTransaction(IsolationLevel.RepeatableRead))
            {
              // ...
            }
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.PrepareCommand(System.Data.IDbCommand)">
            <summary>
            Prepares a <see cref="T:System.Data.IDbCommand"/> to run against the underlying database.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to prepare.</param>
            <returns>The supplied <see cref="T:System.Data.IDbCommand"/>.</returns>
            <example>
            <code>
            IDbCommand command = lightSpeedContext.DataProviderObjectFactory.CreateCommand();
            command.CommandText = "SELECT @@VERSION AS SqlServerVersion";
            
            command = unitOfWork.PrepareCommand(command);
            object version = command.ExecuteScalar();
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Attach(Mindscape.LightSpeed.Entity)">
            <summary>
            Attaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> to the current unit of work.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to attach.</param>
            <remarks>If the entity is already attached to this unit of work, re-attaching it
            has no effect.</remarks>
            <example>
            <code>
            Country country = ReferenceData.GetCountryFromSessionState("Ruritania");
            unitOfWork.Attach(country);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Attach(Mindscape.LightSpeed.Entity,Mindscape.LightSpeed.AttachMode)">
            <summary>
            Attaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> to the current unit of work using the requested
            mode for attachment
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to attach.</param>
            <param name="mode">The <see cref="T:Mindscape.LightSpeed.AttachMode"/> to use when attaching this entity to the UnitOfWork</param>
            <returns>An instance of the entity which has been attached to the current UnitOfWork, 
            see the details for the <see cref="T:Mindscape.LightSpeed.AttachMode"/> being used to determine specific behavior 
            of the call</returns>
            <remarks>If the entity is already attached to this unit of work, re-attaching it
            has no effect.</remarks>
            <example>
            <code>
            Country country = RemoteService.GetCountryFromSessionState("Ruritania");
            unitOfWork.Attach(country, AttachMode.Import);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Import``1(System.Object)">
            <summary>
            Imports the specified source object to the current unit of work which will
            map its properties against the currently loaded version of an associated
            entity, the type of which shall be TEntity.
            </summary>
            <typeparam name="TEntity">The type of the entity to which the source object will be mapped against</typeparam>
            <param name="source">The source object containing data to be imported</param>
            <returns>
            An instance of a TEntity which has been loaded from the database/identity map if appropriate and had
            its properties mapped from the source object
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Count``1">
            <summary>
            Returns the number of entities of a specified <see cref="T:System.Type"/>.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <returns>The number of entities.</returns>
            <example>
            <code>
            long productCount = unitOfWork.Count&lt;Product&gt;();
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Count``1(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns the number of entities of a specified type based on
            the supplied <see cref="T:System.Type"/> and <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="query">The <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The number of entities.</returns>
            <example>
            <code>
            Query query = new Query(Entity.Attribute("Price") &gt; 1000000);
            long expensiveProductCount = unitOfWork.Count&lt;Product&gt;(query);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Count(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns the number of entities based on
            the supplied <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
            <param name="query">The <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The number of entities.</returns>
            <example>
            <code>
            Query query = new Query(typeof(Product), Entity.Attribute("Price") &gt; 1000000);
            long expensiveProductCount = unitOfWork.Count(query);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Calculate``1(System.String,System.String)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <returns>The result of the calculation.</returns>
            <example>
            <code>
            int sumOfPrices = (int)(unitOfWork.Calculate&lt;Product&gt;("SUM", "Price", query));
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Calculate``1(System.String,System.String,Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <param name="query">A <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The result of the calculation.</returns>
            <example>
            <code>
            Query query = new Query(Entity.Attribute("OrderId") == 101);
            int sumOfPricesInOrder101 = (int)(unitOfWork.Calculate&lt;Product&gt;("SUM", "Price", query));
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.FindById``1(System.Object)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> by its id.
            </summary>
            <typeparam name="TEntity">The type of <see cref="T:Mindscape.LightSpeed.Entity"/> to find.</typeparam>
            <param name="id">The id of the <see cref="T:Mindscape.LightSpeed.Entity"/></param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/>, or null if no <see cref="T:Mindscape.LightSpeed.Entity"/> was found
            with the specified id value.</returns>
            <example>
            <code>
            int customerId = Int32.Parse(Request.QueryString["id"]);
            Customer customer = unitOfWork.FindById&lt;Customer&gt;(customerId);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.FindById(System.Type,System.Object)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> by its id.
            </summary>
            <param name="entityType">The type of <see cref="T:Mindscape.LightSpeed.Entity"/> to find.</param>
            <param name="id">The id of the <see cref="T:Mindscape.LightSpeed.Entity"/></param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/>, or null if no <see cref="T:Mindscape.LightSpeed.Entity"/> was found
            with the specified id value.</returns>
            <example>
            <code>
            int customerId = Int32.Parse(Request.QueryString["id"]);
            Entity customer = unitOfWork.FindById(typeof(Customer), customerId);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.FindOne``1(System.Object)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> by its id.
            </summary>
            <typeparam name="TEntity">The type of <see cref="T:Mindscape.LightSpeed.Entity"/> to find.</typeparam>
            <param name="id">The id of the <see cref="T:Mindscape.LightSpeed.Entity"/></param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/>, or null if no <see cref="T:Mindscape.LightSpeed.Entity"/> was found
            with the specified id value.</returns>
            <remarks>Do not use this method for finding an entity by id.  Use FindById instead.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.FindOne(System.Type,System.Object)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> by its id.
            </summary>
            <param name="entityType">The type of <see cref="T:Mindscape.LightSpeed.Entity"/> to find.</param>
            <param name="id">The id of the <see cref="T:Mindscape.LightSpeed.Entity"/></param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/>, or null if no <see cref="T:Mindscape.LightSpeed.Entity"/> was found
            with the specified id value.</returns>
            <remarks>Do not use this method for finding an entity by id.  Use FindById instead.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.FindOne``1(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that satisfies the provided <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.
            </summary>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to match
            the <see cref="T:Mindscape.LightSpeed.Entity"/> that should be returned.</param>
            <typeparam name="TEntity">The entity type.</typeparam>
            <returns>A single <see cref="T:Mindscape.LightSpeed.Entity"/> that satisfies the supplied
            <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.</returns>
            <example>
            <code>
            Customer customer = unitOfWork.FindOne&lt;Customer&gt;(Entity.Attribute("AccountNo") == "ABC123");
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.FindOne(System.Type,Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that satisfies the provided <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.
            </summary>
            <param name="entityType">The entity type.</param>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to match
            the <see cref="T:Mindscape.LightSpeed.Entity"/> that should be returned.</param>
            <returns>A single <see cref="T:Mindscape.LightSpeed.Entity"/> that satisfies the supplied <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.</returns>
            <example>
            <code>
            Entity customer = unitOfWork.FindOne(typeof(Customer), Entity.Attribute("AccountNo") == "ABC123");
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find``1">
            <summary>
            Finds all entities of a given type.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <returns>A collection of entities of a given type.</returns>
            <example>
            <code>
            IList&lt;Customer&gt; allCustomers = unitOfWork.Find&lt;Customer&gt;();
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find``1(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Finds entities of a given type using a query to a database stored procedure.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="query">The database stored procedure query.</param>
            <returns>A collection of entities of a given type.</returns>
            <example>
            <code>
            ProcedureQuery query = new ProcedureQuery("GetGoldCustomers");
            IList&lt;Customer&gt; goldCustomers = unitOfWork.Find&lt;Customer&gt;(query);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find(System.Type)">
            <summary>
            Finds a collection of entities based on a type of entity.
            </summary>
            <param name="entityType">The entity type.</param>
            <returns>A collection of entities of a given type.</returns>
            <example>
            <code>
            IList&lt;Entity&gt; allCustomers = unitOfWork.Find(typeof(Customer));
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find``1(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Finds a collection of entities that match the provided <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.
            </summary>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to filter the
            set of results that should be returned.</param>
            <typeparam name="TEntity">The entity type.</typeparam>
            <returns>A collection of entities that satisfy the supplied <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/></returns>
            <example>
            <code>
            IList&lt;Customer&gt; goldCustomers = unitOfWork.Find&lt;Customer&gt;(Entity.Attribute("StatusCode") == "G");
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find(System.Type,Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Finds a collection of entities that satisfy the supplied <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.
            </summary>
            <param name="entityType">The entity type.</param>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to filter the
            set of results that should be returned.</param>
            <returns>A collection of entities that satisfy the supplied <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/></returns>
            <example>
            <code>
            IList&lt;Entity&gt; goldCustomers = unitOfWork.Find(typeof(Customer), Entity.Attribute("StatusCode") == "G");
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find``1(Mindscape.LightSpeed.Querying.QueryExpression,Mindscape.LightSpeed.Querying.Order,Mindscape.LightSpeed.Querying.Page)">
            <summary>
            Finds a collection of Entities that satisfy the supplied criteria.
            </summary>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to filter the
            set of results that should be returned.</param>
            <param name="order">An <see cref="T:Mindscape.LightSpeed.Querying.Order"/> describing the order in which
            results should be returned.</param>
            <param name="page">A <see cref="T:Mindscape.LightSpeed.Querying.Page"/> describing the logical page of results
            that should be returned.</param>
            <typeparam name="TEntity">The entity type.</typeparam> 
            <returns>A collection of entities that satisfy the supplied criteria.</returns>
            <example>
            <code>
            IList&lt;Customer&gt; thirdPageOfGoldCustomers = unitOfWork.Find&lt;Customer&gt;(
              Entity.Attribute("StatusCode") == "G"),
              Order.By("Name"),
              Page.Offset(20).Limit(10));
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Find(System.Type,Mindscape.LightSpeed.Querying.QueryExpression,Mindscape.LightSpeed.Querying.Order,Mindscape.LightSpeed.Querying.Page)">
            <summary>
            Finds a collection of Entities that satisfy the supplied criteria.
            </summary>
            <param name="entityType">The entity type.</param>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to filter the
            set of results that should be returned.</param>
            <param name="order">An <see cref="T:Mindscape.LightSpeed.Querying.Order"/> describing the order in which
            results should be returned.</param>
            <param name="page">A <see cref="T:Mindscape.LightSpeed.Querying.Page"/> describing the logical page of results
            that should be returned.</param>
            <returns>A collection of entities that satisfy the supplied criteria.</returns>
            <example>
            <code>
            IList&lt;Entity&gt; thirdPageOfGoldCustomers = unitOfWork.Find(
              typeof(Customer),
              Entity.Attribute("StatusCode") == "G"),
              Order.By("Name"),
              Page.Offset(20).Limit(10));
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.SaveChanges">
            <summary>
            Flushes pending changes to the underlying database.
            </summary>
            <example>
            <code>
            // Prepare changes to the database in the unit of work
            var customer = unitOfWork.FindOne&lt;Customer&gt;(Entity.Attribute("Name") == "Arthur Wellesley");
            customer.Name = "The Duke of Wellington";
            unitOfWork.Add(new Customer { Name = "Gertrude Perkins" });
            unitOfWork.Add(new Dogsbody { Name = "S Baldrick" });
            unitOfWork.Remove(unitOfWork.FindOne&lt;Customer&gt;(Entity.Attribute("Name") == "Lord Smedley");
            // Save the changes to the database
            unitOfWork.SaveChanges();
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.BeginTransaction">
            <summary>
            Begins a transaction against the underlying database.
            </summary>
            <returns>The <see cref="T:System.Data.IDbTransaction"/></returns>
            <example>
            <code>
            using (IDbTransaction tx = unitOfWork.BeginTransaction())
            {
              // ...
            }
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Search(System.String,System.Type[])">
            <summary>
            Peforms a full text search across multiple entity types.
            </summary>
            <param name="searchQuery">The search query.</param>
            <param name="types">The types to be queried.</param>
            <returns>A collection of <see cref="T:Mindscape.LightSpeed.Search.SearchResult"/> objects.</returns>
            <example>
            <code>
            IList&lt;SearchResult&gt; searchResults = unitOfWork.Search("bob", typeof(Customer), typeof(Dogsbody));
            foreach (SearchResult sr in searchResults)
            {
              IPerson person = (IPerson)(sr.Entity);
              Console.WriteLine(person.Name + " scored " + sr.Score);
            }
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWork.Search(Mindscape.LightSpeed.Querying.Query,System.Type[])">
            <summary>
            Peforms a full text search across multiple entity types.
            </summary>
            <param name="query">The query.</param>
            <param name="types">The types to be queried.</param>
            <returns>A collection of <see cref="T:Mindscape.LightSpeed.Search.SearchResult"/> objects.</returns>
            <example>
            <code>
            Query query = new Query { SearchQuery = "bob" };
            IList&lt;SearchResult&gt; searchResults = unitOfWork.Search(query, typeof(Customer), typeof(Dogsbody));
            foreach (SearchResult sr in searchResults)
            {
              IPerson person = (IPerson)(sr.Entity);
              Console.WriteLine(person.Name + " scored " + sr.Score);
            }
            </code>
            </example>
        </member>
        <member name="E:Mindscape.LightSpeed.IUnitOfWork.Disposed">
            <summary>
            Signals that the component has been disposed.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.IUnitOfWork.Context">
            <summary>
            The <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> that spawned this <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.IUnitOfWork.SupportsCompiledQueries">
            <summary>
            Indicates if the UnitOfWork can support generating compiled queries
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Count``1">
            <summary>
            Returns the number of entities of a specified <see cref="T:System.Type"/>.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <returns>The number of entities.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Count``1(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns the number of entities of a specified type based on
            the supplied <see cref="T:System.Type"/> and <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="query">The <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The number of entities.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Count(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns the number of entities based on the supplied <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
            <param name="query">The <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The number of entities.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Calculate``1(System.String,System.String)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <returns>The result of the calculation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Calculate``1(System.String,System.String,Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <param name="query">A <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The result of the calculation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Calculate(System.String,Mindscape.LightSpeed.Querying.IdentifierExpression,Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <param name="query">A <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The result of the calculation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Calculate(System.String,System.String,Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <param name="query">A <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The result of the calculation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Calculate(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Performs a database calculation (scalar query) using a database stored procedure.
            </summary>
            <param name="query">The database stored procedure query.</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Execute(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Executes a database stored procedure.
            </summary>
            <param name="query">The database stored procedure.</param>
            <returns>The number of rows affected by the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindById``1(System.Object)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> by its id.
            </summary>
            <typeparam name="TEntity">The type of <see cref="T:Mindscape.LightSpeed.Entity"/> to find.</typeparam>
            <param name="id">The id of the <see cref="T:Mindscape.LightSpeed.Entity"/></param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/>, or null if no <see cref="T:Mindscape.LightSpeed.Entity"/> was found
            with the specified id value.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindById(System.Type,System.Object)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> by its id.
            </summary>
            <param name="entityType">The type of <see cref="T:Mindscape.LightSpeed.Entity"/> to find.</param>
            <param name="id">The id of the <see cref="T:Mindscape.LightSpeed.Entity"/></param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/>, or null if no <see cref="T:Mindscape.LightSpeed.Entity"/> was found
            with the specified id value.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindOne``1(System.Object)">
            <summary>
            Obsolete.  Use <see cref="M:Mindscape.LightSpeed.UnitOfWorkBase.FindById(System.Type,System.Object)"/> instead.
            </summary>
            <typeparam name="TEntity">The type of <see cref="T:Mindscape.LightSpeed.Entity"/> to find.</typeparam>
            <param name="id">The id of the <see cref="T:Mindscape.LightSpeed.Entity"/></param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/>, or null if no <see cref="T:Mindscape.LightSpeed.Entity"/> was found
            with the specified id value.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindOne(System.Type,System.Object)">
            <summary>
            Obsolete.  Use <see cref="M:Mindscape.LightSpeed.UnitOfWorkBase.FindById(System.Type,System.Object)"/> instead.
            </summary>
            <param name="entityType">The type of <see cref="T:Mindscape.LightSpeed.Entity"/> to find.</param>
            <param name="id">The id of the <see cref="T:Mindscape.LightSpeed.Entity"/></param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/>, or null if no <see cref="T:Mindscape.LightSpeed.Entity"/> was found
            with the specified id value.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindOne``1(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that satisfies the provided <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.
            </summary>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to match
            the <see cref="T:Mindscape.LightSpeed.Entity"/> that should be returned.</param>
            <typeparam name="TEntity">The entity type.</typeparam>
            <returns>A single <see cref="T:Mindscape.LightSpeed.Entity"/> that satisfies the supplied
            <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindOne(System.Type,Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that satisifies the provided <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.
            </summary>
            <param name="entityType">The entity type.</param>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to match
            the <see cref="T:Mindscape.LightSpeed.Entity"/> that should be returned.</param>
            <returns>A single <see cref="T:Mindscape.LightSpeed.Entity"/> that satisfies the supplied <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindOne``1(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>The <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindOne(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>The <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find``1(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns a strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>A strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindBySql``1(System.Data.IDbCommand)">
            <summary>
            Returns a strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            represent the records returned by the specified database command.
            </summary>
            <param name="command">The command.</param>
            <returns>A strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            represent the records returned by the command.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find``1">
            <summary>
            Finds all entities of a given type.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <returns>A collection of entities of a given type.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find``1(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Finds entities of a given type using a query to a database stored procedure.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="query">The database stored procedure query.</param>
            <returns>A collection of entities of a given type.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find(System.Type)">
            <summary>
            Finds a collection of entities based on a type of entity.
            </summary>
            <param name="entityType">The entity type.</param>
            <returns>A collection of entities of a given type.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find``1(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Finds a collection of entities that match the provided <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.
            </summary>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to filter the
            set of results that should be returned.</param>
            <typeparam name="TEntity">The entity type.</typeparam>
            <returns>A collection of entities that satisfy the supplied <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find(System.Type,Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Finds a collection of entities that satisfy the supplied <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.
            </summary>
            <param name="entityType">The entity type.</param>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to filter the
            set of results that should be returned.</param>
            <returns>A collection of entities that satisfy the supplied <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find``1(Mindscape.LightSpeed.Querying.QueryExpression,Mindscape.LightSpeed.Querying.Order,Mindscape.LightSpeed.Querying.Page)">
            <summary>
            Finds a collection of Entities that satisfy the supplied criteria.
            </summary>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to filter the
            set of results that should be returned.</param>
            <param name="order">An <see cref="T:Mindscape.LightSpeed.Querying.Order"/> describing the order in which
            results should be returned.</param>
            <param name="page">A <see cref="T:Mindscape.LightSpeed.Querying.Page"/> describing the logical page of results
            that should be returned.</param>
            <typeparam name="TEntity">The entity type.</typeparam> 
            <returns>A collection of entities that satisfy the supplied criteria.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find(System.Type,Mindscape.LightSpeed.Querying.QueryExpression,Mindscape.LightSpeed.Querying.Order,Mindscape.LightSpeed.Querying.Page)">
            <summary>
            Finds a collection of Entities that satisfy the supplied criteria.
            </summary>
            <param name="entityType">The entity type.</param>
            <param name="queryExpression">A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> used to filter the
            set of results that should be returned.</param>
            <param name="order">An <see cref="T:Mindscape.LightSpeed.Querying.Order"/> describing the order in which
            results should be returned.</param>
            <param name="page">A <see cref="T:Mindscape.LightSpeed.Querying.Page"/> describing the logical page of results
            that should be returned.</param>
            <returns>A collection of entities that satisfy the supplied criteria.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>A list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find``2(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Gets the set of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that match the provided query specification and returns the results
            as an <see cref="T:Mindscape.LightSpeed.EntityTuple"/> grouped by entity type.
            </summary>
            <param name="query">The query.</param>
            <typeparam name="TEntity1">The type of the first entity.</typeparam>
            <typeparam name="TEntity2">The type of the second entity.</typeparam>
            <returns>The results of the grouping.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.Querying.EntityMap)">
            <summary>
            Gets the set of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that match the provided query specification and returns the results
            as an <see cref="T:Mindscape.LightSpeed.EntityTuple"/> grouped by entity type.
            </summary>
            <param name="query">The query.</param>
            <param name="typeMap">The set of entity types to query for.</param>
            <returns>The results of the grouping.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find(Mindscape.LightSpeed.Querying.Query,System.Collections.IList)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification. Places the
            results into the provided collection.
            </summary>
            <param name="query">The query.</param>
            <param name="results">The collection where the results are placed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.FindGroup(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.EntityTuple)">
            <summary>
            Returns a set of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that match the provided query specification and places the results
            in the provided <see cref="T:Mindscape.LightSpeed.EntityTuple"/> and is grouped by entity type
            </summary>
            <param name="query">The query.</param>
            <param name="results">The results of the grouping.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Find(Mindscape.LightSpeed.Querying.ProcedureQuery,System.Collections.IList)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.ProcedureQuery"/> specification. Places the
            results into the provided collection.
            </summary>
            <param name="query">The query.</param>
            <param name="results">The collection where the results are placed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Project(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns an <see cref="T:System.Data.IDataReader"/> containing the results of the specified
            projection query. A projection query returns only a subset of fields of an entity.
            At lease one field name must have been added to the <see cref="P:Mindscape.LightSpeed.Querying.Query.Projection"/>
            collection.
            </summary>
            <param name="query">The query.</param>
            <returns>An <see cref="T:System.Data.IDataReader"/> containing the results of the specified
            projection query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Project(Mindscape.LightSpeed.Querying.Query,System.Type)">
            <summary>
            Performs a query with a projection, and materialises the results as the specified type.
            </summary>
            <param name="query">The query to be performed.</param>
            <param name="projectedType">The type of object to be materialised from the query results.</param>
            <returns>A list of objects of the specified type.</returns>
            <remarks>The results of the projection are not entities, and are not associated with
            the unit of work.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Project``1(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a query with a projection, and materialises the results as the specified type.
            </summary>
            <param name="query">The query to be performed.</param>
            <typeparam name="T">The type of object to be materialised from the query results.</typeparam>
            <returns>A list of objects of the specified type.</returns>
            <remarks>The results of the projection are not entities, and are not associated with
            the unit of work.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Search(System.String,System.Type[])">
            <summary>
            Peforms a full text search across multiple entity types.
            </summary>
            <param name="searchQuery">The search query.</param>
            <param name="types">The types to be queried.</param>
            <returns>A collection of <see cref="T:Mindscape.LightSpeed.Search.SearchResult"/> objects.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Search(Mindscape.LightSpeed.Querying.Query,System.Type[])">
            <summary>
            Peforms a full text search across multiple entity types.
            </summary>
            <param name="query">The query.</param>
            <param name="types">The types to be queried.</param>
            <returns>A collection of <see cref="T:Mindscape.LightSpeed.Search.SearchResult"/> objects.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.SaveChanges">
            <summary>
            Flushes pending changes to the underlying database.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.SaveChanges(System.Boolean)">
            <summary>
            Flushes pending changes to the database.
            </summary>
            <param name="reset">if set to <c>true</c> then clears all existing entities
            from the <see cref="T:Mindscape.LightSpeed.UnitOfWorkBase"/> so that they will be reloaded on subsequent
            queries.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.OnMockSavingEntity(Mindscape.LightSpeed.Entity)">
            <summary>
            Performs housekeeping activity associated with saving an entity.
            This method is provided for use by mock implementations of <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>
            and should be called by mock implementations prior to performing their
            save activities.  It should not be called in production code, as the LightSpeed
            object mapper carries out the necessary housekeeping in that environment.
            </summary>
            <param name="entity">The entity about to be saved.</param>
            <returns>true if the save should proceed; false if the save
            should be cancelled.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.BeginTransaction">
            <summary>
            Begins a transaction against the underlying database.
            </summary>
            <returns>The <see cref="T:System.Data.IDbTransaction"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.BeginTransaction(System.Data.IsolationLevel)">
            <summary>
            Begins a transaction.
            </summary>
            <param name="isolationLevel">The <see cref="T:System.Data.IsolationLevel"/> of the transaction</param>
            <returns>An <see cref="T:System.Data.IDbTransaction"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Add(Mindscape.LightSpeed.Entity)">
            <summary>
            Registers the specified entity as a pending insert.
            </summary>
            <param name="entity">The entity.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Remove(Mindscape.LightSpeed.Entity)">
            <summary>
            Registers the specified entity as a pending delete.
            </summary>
            <param name="entity">The entity.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Remove(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Deletes entities by executing SQL directly against the database. NB. No entities are
            materialized and therefore no callbacks run, entities are not removed from the second-level
            cache or full-text search index etc.
            </summary>
            <param name="query">A query used to determine which entities to delete.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Update(Mindscape.LightSpeed.Querying.Query,System.Object)">
            <summary>
            Updates entities by executing SQL directly against the database. NB. No entities are
            materialized and therefore no callbacks run, cached entities are not updated in the second-level
            cache or full-text search index etc.
            </summary>
            <param name="query">A query used to determine the entities to update.</param>
            <param name="attributes">The attributes to be updated. This argument can either be an
            <see cref="T:System.Collections.Generic.IDictionary`2"/>, or, an object whose properties correspond to the
            target attributes (useful when using an anonymous type).</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.PrepareCommand(System.Data.IDbCommand)">
            <summary>
            Prepares a <see cref="T:System.Data.IDbCommand"/> to run against the underlying database.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to prepare.</param>
            <returns>The supplied <see cref="T:System.Data.IDbCommand"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Attach(Mindscape.LightSpeed.Entity)">
            <summary>
            Attaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> to the current unit of work.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to attach.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Attach(Mindscape.LightSpeed.Entity,Mindscape.LightSpeed.AttachMode)">
            <summary>
            Attaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> to the current unit of work using the requested
            mode for attachment
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to attach.</param>
            <param name="mode">The <see cref="T:Mindscape.LightSpeed.AttachMode"/> to use when attaching this entity to the UnitOfWork</param>
            <returns>An instance of the entity which has been attached to the current UnitOfWork, 
            see the details for the <see cref="T:Mindscape.LightSpeed.AttachMode"/> being used to determine specific behavior 
            of the call</returns>
            <remarks>If the entity is already attached to this unit of work, re-attaching it
            has no effect.</remarks>
            <example>
            <code>
            Country country = RemoteService.GetCountryFromSessionState("Ruritania");
            unitOfWork.Attach(country, AttachMode.Import);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Import``1(System.Object)">
            <summary>
            Imports the specified source object to the current unit of work which will
            map its properties against the currently loaded version of an associated
            entity, the type of which shall be TEntity.
            </summary>
            <typeparam name="TEntity">The type of the entity to which the source object will be mapped against</typeparam>
            <param name="source">The source object containing data to be imported</param>
            <returns>
            An instance of a TEntity which has been loaded from the database/identity map if appropriate and had
            its properties mapped from the source object
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Detach(Mindscape.LightSpeed.Entity)">
            <summary>
            Detaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> from the current unit of work.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to detach.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Dispose">
            <summary>
            Frees resources and disposes the <see cref="T:Mindscape.LightSpeed.UnitOfWork"/>
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Finalize">
            <summary>
            Performs object finalization.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> and optionally 
            releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false 
            to release only unmanaged resources.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.OnDisposed">
            <summary>
            Raises the <see cref="E:Mindscape.LightSpeed.UnitOfWorkBase.Disposed"/> event.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.EnsureNotDisposed">
            <summary>
            Verifies that the <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> has not been disposed, and raises
            an <see cref="T:System.ObjectDisposedException"/> if it has.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.GetEnumerator">
            <summary>
            Get an enumerator over the entities currently attached to this unit of work
            </summary>
            <returns>Entities enumerator</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkBase.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator over the entities currently associated with this unit of work
            </summary>
            <returns>Entities enumerator</returns>
        </member>
        <member name="E:Mindscape.LightSpeed.UnitOfWorkBase.Disposed">
            <summary>
            Signals that the component has been disposed.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.UnitOfWorkBase.Context">
            <summary>
            The <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> that spawned this <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.UnitOfWorkBase.IdentityMap">
            <summary>
            The <see cref="P:Mindscape.LightSpeed.UnitOfWorkBase.IdentityMap"/> used to manage the entities within the <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>. Generally
            the identity map should not be used directly.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.UnitOfWorkBase.SupportsCompiledQueries">
            <summary>
            Indicates if the UnitOfWork can support generating compiled queries
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.UnitOfWork"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Count(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns the number of entities based on the supplied <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
            <param name="query">The <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The number of entities.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Calculate(System.String,Mindscape.LightSpeed.Querying.IdentifierExpression,Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <param name="query">A <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The result of the calculation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Calculate(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Performs a database calculation (scalar query) using a database stored procedure.
            </summary>
            <param name="query">The database stored procedure query.</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Execute(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Executes a database stored procedure.
            </summary>
            <param name="query">The database stored procedure.</param>
            <returns>The number of rows affected by the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.FindOne(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>The <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Find``1(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Finds entities of a given type using a query to a database stored procedure.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="query">The database stored procedure query.</param>
            <returns>A collection of entities of a given type.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Find(Mindscape.LightSpeed.Querying.Query,System.Collections.IList)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification. Places the
            results into the provided collection.
            </summary>
            <param name="query">The query.</param>
            <param name="results">The collection where the results are placed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.FindBySql``1(System.Data.IDbCommand)">
            <summary>
            Returns a strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            represent the records returned by the specified database command.
            </summary>
            <param name="command">The command.</param>
            <returns>A strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            represent the records returned by the command.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.FindGroup(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.EntityTuple)">
            <summary>
            Returns a set of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that match the provided query specification and places the results
            in the provided <see cref="T:Mindscape.LightSpeed.EntityTuple"/> and is grouped by entity type
            </summary>
            <param name="query">The query.</param>
            <param name="results">The results of the grouping.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Find(Mindscape.LightSpeed.Querying.ProcedureQuery,System.Collections.IList)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.ProcedureQuery"/> specification. Places the
            results into the provided collection.
            </summary>
            <param name="query">The query.</param>
            <param name="results">The collection where the results are placed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Project(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns an <see cref="T:System.Data.IDataReader"/> containing the results of the specified
            projection query. A projection query returns only a subset of fields of an entity.
            At lease one field name must have been added to the <see cref="P:Mindscape.LightSpeed.Querying.Query.Projection"/>
            collection.
            </summary>
            <param name="query">The query.</param>
            <returns>An <see cref="T:System.Data.IDataReader"/> containing the results of the specified
            projection query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Search(Mindscape.LightSpeed.Querying.Query,System.Type[])">
            <summary>
            Peforms a full text search across multiple entity types.
            </summary>
            <param name="query">The query.</param>
            <param name="types">The types to be queried.</param>
            <returns>A collection of <see cref="T:Mindscape.LightSpeed.Search.SearchResult"/> objects.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.SaveChanges(System.Boolean)">
            <summary>
            Flushes pending changes to the database.
            </summary>
            <param name="reset">if set to <c>true</c> then clears all existing entities
            from the <see cref="T:Mindscape.LightSpeed.UnitOfWork"/> so that they will be reloaded on subsequent
            queries.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.BeginTransaction(System.Data.IsolationLevel)">
            <summary>
            Begins a transaction.
            </summary>
            <param name="isolationLevel">The <see cref="T:System.Data.IsolationLevel"/> of the transaction</param>
            <returns>An <see cref="T:System.Data.IDbTransaction"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Add(Mindscape.LightSpeed.Entity)">
            <summary>
            Registers the specified entity as a pending insert.
            </summary>
            <param name="entity">The entity.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Remove(Mindscape.LightSpeed.Entity)">
            <summary>
            Registers the specified entity as a pending delete.
            </summary>
            <param name="entity">The entity.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Remove(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Deletes entities by executing SQL directly against the database. NB. No entities are
            materialized and therefore no callbacks run, entities are not removed from the second-level
            cache or full-text search index etc.
            </summary>
            <param name="query">A query used to determine which entities to delete.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Remove(Mindscape.LightSpeed.Querying.Query,System.Boolean)">
            <summary>
            Deletes entities by executing SQL directly against the database. NB. No entities are
            materialized and therefore no callbacks run, entities are not removed from the second-level
            cache or full-text search index etc.
            </summary>
            <param name="query">A query used to determine which entities to delete.</param>
            <param name="forceHardDelete">Forces entities to be hard deleted, even if they are marked for
            soft delete.</param>
            <remarks>
            The main use for this overload is to purge soft-deleted entities, according
            to administration criteria or based on time since deletion.  To do this, you must pass
            true for forceHardDelete, and you must structure your query to pick up the soft-deleted
            entities that you want to purge.  To do the latter, set Query.IncludeDeleted to true
            (to tell LightSpeed to consider soft-deleted entities), and include a suitable DeletedOn
            filter in your query.  For example, to purge entities that were soft deleted more than
            30 days ago, write: Remove(new Query(typeof(MyEntity), Entity.Attribute("DeletedOn") &lt; DateTime.Now.AddDays(-30)) { IncludeDeleted = true }, true).
            </remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Update(Mindscape.LightSpeed.Querying.Query,System.Object)">
            <summary>
            Updates entities by executing SQL directly against the database. NB. No entities are
            materialized and therefore no callbacks run, cached entities are not updated in the second-level
            cache or full-text search index etc.
            </summary>
            <param name="query">A query used to determine the entities to update.</param>
            <param name="attributes">The attributes to be updated. This argument can either be an
            <see cref="T:System.Collections.Generic.IDictionary`2"/>, or, an object whose properties correspond to the
            target attributes (useful when using an anonymous type).</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.PrepareCommand(System.Data.IDbCommand)">
            <summary>
            Prepares a <see cref="T:System.Data.IDbCommand"/> to run against the underlying database.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to prepare.</param>
            <returns>The supplied <see cref="T:System.Data.IDbCommand"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Attach(Mindscape.LightSpeed.Entity)">
            <summary>
            Attaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> to the current unit of work.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to attach.</param>
            <remarks>If the entity is already attached to this unit of work, re-attaching it
            has no effect.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Attach(Mindscape.LightSpeed.Entity,Mindscape.LightSpeed.AttachMode)">
            <summary>
            Attaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> to the current unit of work using the requested
            mode for attachment
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to attach.</param>
            <param name="mode">The <see cref="T:Mindscape.LightSpeed.AttachMode"/> to use when attaching this entity to the UnitOfWork</param>
            <returns>An instance of the entity which has been attached to the current UnitOfWork, 
            see the details for the <see cref="T:Mindscape.LightSpeed.AttachMode"/> being used to determine specific behavior 
            of the call</returns>
            <remarks>If the entity is already attached to this unit of work, re-attaching it
            has no effect.</remarks>
            <example>
            <code>
            Country country = RemoteService.GetCountryFromSessionState("Ruritania");
            unitOfWork.Attach(country, AttachMode.Import);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Import``1(System.Object)">
            <summary>
            Imports the specified source object to the current unit of work which will
            map its properties against the currently loaded version of an associated
            entity, the type of which shall be TEntity.
            </summary>
            <typeparam name="TEntity">The type of the entity to which the source object will be mapped against</typeparam>
            <param name="source">The source object containing data to be imported</param>
            <returns>
            An instance of a TEntity which has been loaded from the database/identity map if appropriate and had
            its properties mapped from the source object
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Import``1(System.Object,System.Func{System.Type,System.Object,System.Object})">
            <summary>
            Imports the specified source object to the current unit of work which will
            map its properties against the currently loaded version of an associated
            entity, the type of which shall be TEntity.
            </summary>    
            <typeparam name="TEntity">The type of the entity to which the source object will be mapped against</typeparam>
            <param name="source">The source object containing data to be imported</param>
            <param name="mappingFunction">A custom mapping function for translating the source object to the target type</param>
            <returns>
            An instance of a TEntity which has been loaded from the database/identity map if appropriate and had
            its properties mapped from the source object
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Import``1(``0)">
            <summary>
            Imports the specified <see cref="T:Mindscape.LightSpeed.Entity"/> to the current unit of work which will
            associate it with the current UnitOfWork and sync it against the current state
            from either the database or identity map.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to import.</param>
            <typeparam name="TEntity">The generic type of the entity</typeparam>
            <returns>The entity as imported into the current UnitOfWork</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Detach(Mindscape.LightSpeed.Entity)">
            <summary>
            Detaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> from the current unit of work.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to detach.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWork.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> and optionally 
            releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false 
            to release only unmanaged resources.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.UnitOfWork.ConnectionStrategy">
            <summary>
            Gets or sets the <see cref="P:Mindscape.LightSpeed.UnitOfWork.ConnectionStrategy"/> used to manage
            database connections.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.UnitOfWork.SupportsCompiledQueries">
            <summary>
            Indicates if the UnitOfWork can support generating compiled queries
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.ICompiledParameterValues">
            <summary>
            Provides values for the parameters of a compiled query.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ICompiledParameterValues.Value(System.Object)">
            <summary>
            Gets the value of the specified parameter.
            </summary>
            <param name="key">The key of the parameter.</param>
            <returns>The value of the parameter.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DataServices.DataServiceUnitOfWork.ResolveTypeName(System.String)">
            <summary>
            Gets the entity type for the specified type name.
            </summary>
            <param name="fullTypeName">The full type name.</param>
            <returns>A <see cref="T:System.Type"/> representing the type with this name.</returns>
            <remarks>By default, LightSpeed looks for type definitions only in the assembly containing the
            strong-typed <see cref="T:Mindscape.LightSpeed.DataServices.DataServiceUnitOfWork"/>.  This will suffice if you are using a
            graphical model and the generated LINQ unit of work.  If you are writing classes by hand
            and/or defining the LINQ unit of work in a separate assembly, override this method to
            resolve type names according to your entity type locations.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.ConnectionStrategy">
            <summary>
            Represents a strategy for managing physical database connections.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.ConnectionStrategy.#ctor(Mindscape.LightSpeed.LightSpeedContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.ConnectionStrategy"/> class.
            </summary>
            <param name="context">The <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> containing database
            connectivity information.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.ConnectionStrategy.Dispose">
            <summary>
            Frees resources held by the <see cref="T:Mindscape.LightSpeed.ConnectionStrategy"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.ConnectionStrategy.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:Mindscape.LightSpeed.ConnectionStrategy"/> and optionally 
            releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false 
            to release only unmanaged resources.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.ConnectionStrategy.OnDatabaseOperationComplete(Mindscape.LightSpeed.DatabaseOperation)">
            <summary>
            Called by the framework after the unit of work has completed a database operation.
            </summary>
            <param name="operation">Contains information about the database operation.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.ConnectionStrategy.Context">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> containing database
            connectivity information.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ConnectionStrategy.Connection">
            <summary>
            When overridden in a derived class, provides a connection to the
            database specified in the <see cref="P:Mindscape.LightSpeed.ConnectionStrategy.Context"/>.
            </summary>
            <returns>A database connection.</returns>
            <remarks>The <see cref="T:Mindscape.LightSpeed.UnitOfWork"/> does not cache the returned connection: it
            calls Connection whenever it needs a database connection.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.DatabaseOperation">
            <summary>
            Contains information about a database operation being notified to
            a <see cref="T:Mindscape.LightSpeed.ConnectionStrategy"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.DatabaseOperation.Kind">
            <summary>
            The kind of database operation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.DatabaseOperation.HasOpenDataReaders">
            <summary>
            Gets whether a database operation of kind Query left open data readers remaining
            on the database connection.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.DatabaseOperationKind">
            <summary>
            Specifies the kind of database operation being notified to a <see cref="T:Mindscape.LightSpeed.ConnectionStrategy"/>.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DatabaseOperationKind.Query">
            <summary>
            A query operation.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DatabaseOperationKind.DataReaderClose">
            <summary>
            The closing of a data reader associated with a previous query.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DatabaseOperationKind.SaveChanges">
            <summary>
            A save operation.  This may be a batch operation involving multiple commands:
            LightSpeed does not notify each command separately.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Data.ProviderOptions">
            <summary>
            Base type for classes representing provider-specific query options.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Data.ProviderOptions.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Data.ProviderOptions"/> class.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Data.IDataProviderObjectFactory">
            <summary>
            Represents a factory for concrete data provider objects such
            as <see cref="T:System.Data.IDbConnection"/> and <see cref="T:System.Data.IDbCommand"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Data.IDataProviderObjectFactory.CreateCommand">
            <summary>
            Returns a provider specific <see cref="T:System.Data.IDbCommand"/>.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Data.IDataProviderObjectFactory.CreateConnection">
            <summary>
            Returns a provider specific <see cref="T:System.Data.IDbConnection"/>.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Data.IDataProviderObjectFactory.CreateParameter(System.String,System.Object)">
            <summary>
            Returns a provider specific <see cref="T:System.Data.IDbDataParameter"/>.
            </summary>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
            <returns></returns>
        </member>
        <member name="T:Mindscape.LightSpeed.IDisplayNamingStrategy">
            <summary>
            Defines a strategy for resolving display names.
            </summary>
            <remarks>The display naming strategy is used only for end-user messages such as
            validation messages.  Errors that are intended for developer use, such as database
            mapping errors, do not support localisation of display names.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.IDisplayNamingStrategy.GetDisplayName(System.String,System.Type)">
            <summary>
            Gets the display name for an entity property.
            </summary>
            <param name="defaultName">The default display name of the property.</param>
            <param name="entityType">The type of entity on which the property occurs.</param>
            <returns>The desired display name.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.EntityTuple">
            <summary>
            Represents a collection of tuples (pair, triple, etc.) of entities.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityTuple.AddType(System.Type,System.String)">
            <summary>
            Adds a type to the tuple.
            </summary>
            <param name="entityType">The type to be added.</param>
            <param name="alias">The alias for the entity type.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityTuple.GetList(System.String)">
            <summary>
            Gets the collection of values of the specified alias.
            </summary>
            <param name="alias">The alias to select from the tuple.</param>
            <returns>A collection containing the entities at the specified alias.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityTuple.GetList(System.Type)">
            <summary>
            Gets the collection of values of the specified type.
            </summary>
            <param name="entityType">The entity type to select from the tuple.</param>
            <returns>A collection containing the entities at the specified type.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityTuple.GetCollection``1">
            <summary>
            Gets the collection of values of the specified type.
            </summary>
            <typeparam name="T">The entity type to select from the tuple.</typeparam>
            <returns>An EntityCollection containing the entities at the specified type.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.EntityTuple.Mappings">
            <summary>
            Gets the set of entity types in the tuple, and their aliases.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.EntityTuple.Count">
            <summary>
            Gets the number of entity tuples in the <see cref="T:Mindscape.LightSpeed.EntityTuple"/>.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.EntityTuple`1">
            <summary>
            An <see cref="T:Mindscape.LightSpeed.EntityTuple"/> containing a single collection of entities.
            </summary>
            <typeparam name="T">The type of entity contained in the single collection of entities.</typeparam>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityTuple`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.EntityTuple`1"/> class.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.EntityTuple`2">
            <summary>
            An <see cref="T:Mindscape.LightSpeed.EntityTuple"/> containing two collections of entities.
            </summary>
            <typeparam name="T1">The type of entity contained in the first collection of entities.</typeparam>
            <typeparam name="T2">The type of entity contained in the second collection of entities.</typeparam>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityTuple`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.EntityTuple`2"/> class.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.EntityTuple`3">
            <summary>
            An <see cref="T:Mindscape.LightSpeed.EntityTuple"/> containing three collections of entities.
            </summary>
            <typeparam name="T1">The type of entity contained in the first collection of entities.</typeparam>
            <typeparam name="T2">The type of entity contained in the second collection of entities.</typeparam>
            <typeparam name="T3">The type of entity contained in the third collection of entities.</typeparam>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityTuple`3.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.EntityTuple`3"/> class.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.FieldConverters.FieldConverter`2">
            <summary>
            Provides a strong-typed implementation of <see cref="T:Mindscape.LightSpeed.IFieldConverter"/>
            for performing custom conversions between a database column and the 
            CLR type of an entity field.
            </summary>
            <typeparam name="TDatabase">The database column type, as returned from or passed to the database provider.</typeparam>
            <typeparam name="TModel">The model field type, as defined in the model class.</typeparam>
        </member>
        <member name="T:Mindscape.LightSpeed.IFieldConverter">
            <summary>
            Provides custom conversion between a database column and the CLR type of
            an entity field.
            </summary>
            <remarks>A strong-typed implementation of this is provided in
            <see cref="T:Mindscape.LightSpeed.FieldConverters.FieldConverter`2"/>.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.IFieldConverter.ConvertFromDatabase(System.Object)">
            <summary>
            Converts a value obtained from the database into a CLR value to be loaded
            into an entity field.
            </summary>
            <param name="databaseValue">The value obtained from the database.</param>
            <returns>The CLR value to which to set the entity field.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.IFieldConverter.ConvertToDatabase(System.Object)">
            <summary>
            Converts an entity field value into a value for storage in the database.
            </summary>
            <param name="value">The entity field value.</param>
            <returns>The value to be stored in the database.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.FieldConverter`2.Mindscape#LightSpeed#IFieldConverter#ConvertFromDatabase(System.Object)">
            <summary>
            Converts a value obtained from the database into a CLR value to be loaded
            into an entity field.
            </summary>
            <param name="databaseValue">The value obtained from the database.</param>
            <returns>The CLR value to which to set the entity field.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.FieldConverter`2.Mindscape#LightSpeed#IFieldConverter#ConvertToDatabase(System.Object)">
            <summary>
            Converts an entity field value into a value for storage in the database.
            </summary>
            <param name="value">The entity field value.</param>
            <returns>The value to be stored in the database.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.FieldConverter`2.ConvertFromDatabase(`0)">
            <summary>
            Converts a value obtained from the database into a CLR value to be loaded
            into an entity field.
            </summary>
            <param name="databaseValue">The value obtained from the database.</param>
            <returns>The CLR value to which to set the entity field.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.FieldConverter`2.ConvertToDatabase(`1)">
            <summary>
            Converts an entity field value into a value for storage in the database.
            </summary>
            <param name="value">The entity field value.</param>
            <returns>The value to be stored in the database.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.FieldConverters.SqlServerTimeFieldConverter">
            <summary>
            Passes through a model timespan value to a string for storing in the database in a SQL Server time data type.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.SqlServerTimeFieldConverter.ConvertFromDatabase(System.Object)">
            <summary>
            Converts a value obtained from the database into a CLR value to be loaded
            into an entity field.
            </summary>
            <param name="databaseValue">The value obtained from the database.</param>
            <returns>The CLR value to which to set the entity field.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.SqlServerTimeFieldConverter.ConvertToDatabase(System.Object)">
            <summary>
            Converts an entity field value into a value for storage in the database.
            </summary>
            <param name="value">The entity field value.</param>
            <returns>The value to be stored in the database.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.FieldConverters.StringEnumFieldConverter`1">
            <summary>
            Maps a model enum value to a string for storing in the database.
            </summary>
            <typeparam name="TEnum">The type of the enum.</typeparam>
            <remarks>By default, LightSpeed expects enums to be represented in the database
            by their underlying integer value.  By applying this converter to a field, you
            can have an enum represented in the database by its stringised name.  This is
            useful primarily for legacy databases.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.StringEnumFieldConverter`1.ConvertFromDatabase(System.String)">
            <summary>
            Converts a string obtained from the database into an enum to be loaded
            into an entity field.
            </summary>
            <param name="databaseValue">The string obtained from the database.</param>
            <returns>The enum to which to set the entity field.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.StringEnumFieldConverter`1.ConvertToDatabase(`0)">
            <summary>
            Converts an entity field value into a value for storage in the database.
            </summary>
            <param name="value">The entity field value.</param>
            <returns>The value to be stored in the database.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.FieldConverters.YNBooleanFieldConverter">
            <summary>
            Maps a model boolean value to the strings 'Y' or 'N' for storing in the database.
            </summary>
            <remarks>This converter is intended for use only with legacy databases.  For
            greenfield databases, allow LightSpeed to perform its default mapping.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.YNBooleanFieldConverter.ConvertFromDatabase(System.String)">
            <summary>
            Converts a string obtained from the database into a boolean value to be loaded
            into an entity field.
            </summary>
            <param name="databaseValue">The string obtained from the database.</param>
            <returns>The boolean to which to set the entity field.</returns>
            <remarks>If the value is neither 'Y' nor 'N', no exception is thrown:
            a value of false is returned.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.FieldConverters.YNBooleanFieldConverter.ConvertToDatabase(System.Boolean)">
            <summary>
            Converts an entity field value into a value for storage in the database.
            </summary>
            <param name="value">The entity field value.</param>
            <returns>The value to be stored in the database.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Identity.IdentityMethodOptions">
            <summary>
            Base type for classes representing identity method-specific options.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Identity.IdentityMethodOptions.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Identity.IdentityMethodOptions"/> class.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Identity.SequenceIdentityMethodOptions">
            <summary>
            Provides configuration options for the Sequence and MultiSequence
            <see cref="T:Mindscape.LightSpeed.IdentityMethod"/>s.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Identity.SequenceIdentityMethodOptions.BlockBound">
            <summary>
            Gets or sets the <see cref="T:Mindscape.LightSpeed.Identity.SequenceIdentityBlockBound"/> which determines
            how blocks of IDs are derived from the sequence value.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Identity.SequenceIdentityBlockBound">
            <summary>
            Specifies the boundary of allocated identity blocks in terms of the
            sequence value.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Identity.SequenceIdentityBlockBound.Default">
            <summary>
            Blocks are reserved using the default option for the current version of
            LightSpeed.  Use this option if you do not have multiple versions of
            LightSpeed using the same sequence.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Identity.SequenceIdentityBlockBound.ExcludeNextValue">
            <summary>
            The block runs up to but not including the value returned by the
            sequence "next value" query.  For example, if the current value is 2000
            and the block size is 10, this option reserves 2000 to 2009.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Identity.SequenceIdentityBlockBound.IncludeNextValue">
            <summary>
            The block runs up to and includes the value returned by the
            sequence "next value" query.  For example, if the current value is 2000
            and the block size is 10, this option reserves 2001 to 2010.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.IEntityFactory">
            <summary>
            Creates entity instances.
            </summary>
            <remarks>This interface is intended for use when you need a nondefault constructor to be called
            during entity materialisation, for example to support dependency injection.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.IEntityFactory.CreateInstance``1(System.Func{``0})">
            <summary>
            Creates an instance of the specified type.
            </summary>
            <param name="defaultCreator">A function which performs default construction of the specified entity type.
            Implementations can use this to handle cases that do not require special handling.</param>
            <typeparam name="T">The type of entity to create.</typeparam>
            <returns>An instance of the specified entity type.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.LightSpeedCompatibilityOptions">
            <summary>
            Provides options for enabling or disabling potentially breaking changes.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.LightSpeedCompatibilityOptions.None">
            <summary>
            Represents no flags set.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.LightSpeedCompatibilityOptions.ClearDeletedEntitiesOnSave">
            <summary>
            If set, deleted entities are removed from the unit of work after the
            deletion has been saved.  If unset (the default), deleted entities remain in the
            unit of work.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.LightSpeedCompatibilityOptions.EnableCandidateFixes">
            <summary>
            Enables functionality within nightly builds which is currently under review. Use this
            if directed by Mindscape staff in relation to an outstanding support issue.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.LightSpeedCompatibilityOptions.EnableV5CacheBehaviour">
            <summary>
            Enables new caching behavior for 2nd level caching
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Logging.CommandLog">
            <summary>
            Contains logging information about a LightSpeed operation.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Logging.CommandLog.ToString">
            <summary>
            Returns a string containing the logged SQL and time taken in human readable format,
            and optionally parameter and result details.
            </summary>
            <returns>A string representation of the logged command.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Logging.CommandLog.op_Explicit(Mindscape.LightSpeed.Logging.CommandLog)~System.String">
            <summary>
            Converts a <see cref="T:Mindscape.LightSpeed.Logging.CommandLog"/> to its string representation.
            </summary>
            <param name="commandLog">The CommandLog object.</param>
            <returns>A string representation of the logged command.</returns>
            <remarks>This operator is provided primarily for code written against previous
            versions of LightSpeed which assumed that log records were always strings.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Logging.CommandLog.CommandText">
            <summary>
            Gets the text of the executed command.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Logging.CommandLog.CommandParameters">
            <summary>
            Gets the parameters of the executed command.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Logging.CommandLog.CommandTransaction">
            <summary>
            Gets the ADO.NET transaction in which the command was enrolled, if any.
            </summary>
            <remarks>If an application uses a TransactionScope to create transactions, rather than
            creating ADO.NET transactions, then the CommandTransaction will be null.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Logging.CommandLog.TimeTaken">
            <summary>
            Gets the time taken to execute the command.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Logging.CommandLog.Result">
            <summary>
            Gets the result of the command.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Logging.CommandLog.Context">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> containing the database configuration
            against which the command was executed.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Logging.CommandLog.UnitOfWork">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> on whose behalf the command was executed.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Mapping.ColumnPermutation">
            <summary>
            Represents the permutation required to map the field order in a TypeModel
            to the column order in an IDataReader.  This is used when LightSpeed cannot
            control the column order to be the same as the field order, specifically
            when using a stored procedure to load entities or when using projections
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Model.FieldModel.IsManagedField">
            <summary>
            Denotes if this field is a LightSpeed managed field (e.g. lock field, updated on, etc)
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Model.FieldModel.IsNativeDataType">
            <summary>
            Denotes if this field would be mapped to a native DbType rather than a provider specific type or CLR type translation
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Profiling.Interceptor">
            <summary>
            Allows tools such as profilers to intercept and modify LightSpeed events.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Profiling.Interceptor.None">
            <summary>
            Gets an <see cref="T:Mindscape.LightSpeed.Profiling.Interceptor"/> which does nothing, resulting in standard LightSpeed behaviour.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Profiling.Interceptor.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Profiling.Interceptor"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Profiling.Interceptor.CreateConnection(System.Func{System.Data.IDbConnection})">
            <summary>
            Intercepts the creation of database connections.
            </summary>
            <param name="baseCreator">A function which performs default connection creation.</param>
            <returns>The connection that LightSpeed should use.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Profiling.Interceptor.CreateCommand(System.Func{System.Data.IDbCommand})">
            <summary>
            Intercepts the creation of database commands.
            </summary>
            <param name="baseCreator">A function which performs default command creation.</param>
            <returns>The command that LightSpeed should use.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Profiling.Interceptor.ExecuteCommand(System.Func{System.Object},Mindscape.LightSpeed.IUnitOfWork,System.Data.IDbCommand)">
            <summary>
            Intercepts the execution of database commands.
            </summary>
            <param name="baseExecutor">A function which performs default command execution.</param>
            <param name="unitOfWork">The unit of work for which the query is being performed.</param>
            <param name="command">The command which is being executed.</param>
            <returns>The result of executing the command.</returns>
            <remarks>Overrides should not normally use the unitOfWork or command arguments to execute the query
            manually. These are provided for informational purposes, for example so that the interceptor
            can examine the LightSpeedContext or the database connection.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Profiling.Interceptor.CreateQueryFilter(System.Type,System.Type,System.Func{Mindscape.LightSpeed.Querying.IQueryFilter})">
            <summary>
            Intercepts the creation of query filters.
            </summary>
            <param name="entityType">The type of entity to be filtered.</param>
            <param name="filterType">The type of filter to be created.</param>
            <param name="baseCreator">A function which performs default filter creation.  This may be null if the
            filter type does not have a public default constructor.</param>
            <returns>An instance of filterType.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.IRepository">
            <summary>
             Contract for a repository class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.IRepository.SaveChanges">
            <summary>
            Flushes pending changes to the underlying database.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Mapping.SelectQueryBuilder.WrapQueryWithGrouping(System.String,Mindscape.LightSpeed.Sql.SelectStatement)">
            <summary>
            Wraps a query with an outer query to select out the results of a GROUP BY clause
            </summary>
            <param name="groupingQueryAlias">The alias we are using for the grouping query</param>
            <param name="selectStatement">The statement to be wrapped</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Mapping.SelectQueryBuilder.TryFlattenExistsToInnerJoin(Mindscape.LightSpeed.Sql.SelectStatement,Mindscape.LightSpeed.Sql.SelectStatement,Mindscape.LightSpeed.Sql.ExistsCriteria)">
            <summary>
            Flattens an exists chain by joining the associated tables in to the statement and then returning up the final
            criterion which will now be within the scope of the original statement.
            </summary>
            <remarks>
            TODO: Review if this approach might be more sensible to apply generally for translation of LiftedPath criteria
            </remarks>
            <param name="rootStatement">The originating statement where new tables will be joined</param>
            <param name="lastStatement">The last statement we saw while walking the chain</param>
            <param name="criteria">The current ExistsCriteria being inspected</param>
            <returns>Either the final criterion from an Exists chain, or the last Exists which made sense to us while walking the chain</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Mapping.SelectQueryBuilder.TransformCriteriaIntoExists(System.String,Mindscape.LightSpeed.Sql.SelectStatement)">
            <summary>
            Transforms any criteria associated with a statement into an EXISTS criteria
            </summary>
            <remarks>
            This will only be called when we are Grouping in Any or All mode where we want to retain the criteria on the grouping query
            </remarks>
            <param name="groupingQueryAlias">The alias we are using for the grouping query</param>
            <param name="selectStatement">The statement which has the criteria to be inspected</param>
        </member>
        <member name="T:Mindscape.LightSpeed.PerThreadUnitOfWorkScope`1">
            <summary>
             A <see cref="T:Mindscape.LightSpeed.UnitOfWorkScopeBase`1"/> that maintains one unit
             of work per thread.
            </summary>
            <typeparam name="TUnitOfWork">The concrete <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> type.</typeparam>
        </member>
        <member name="T:Mindscape.LightSpeed.UnitOfWorkScopeBase`1">
            <summary>
             Abstract base class for unit of work "scope". A scope manages unit of work
             lifetime according to a particular scoping strategy.
            </summary>
            <typeparam name="TUnitOfWork">The concrete <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> type.</typeparam>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkScopeBase`1.#ctor(Mindscape.LightSpeed.LightSpeedContext{`0})">
            <summary>
            Instantiates a new instance of this class.
            </summary>
            <param name="lightSpeedContext">The <see cref="P:Mindscape.LightSpeed.UnitOfWorkScopeBase`1.LightSpeedContext"/> associated
            with this scope.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkScopeBase`1.Finalize">
            <summary>
             Allows an <see cref="T:System.Object" /> to attempt to free resources and perform
             other cleanup operations before the <see cref="T:System.Object" /> is reclaimed by
             garbage collection.
            </summary>
            
        </member>
        <member name="M:Mindscape.LightSpeed.UnitOfWorkScopeBase`1.Dispose">
            <summary>
             Performs application-defined tasks associated with freeing,
             releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:Mindscape.LightSpeed.UnitOfWorkScopeBase`1.LightSpeedContext">
            <summary>
            Returns the <see cref="P:Mindscape.LightSpeed.UnitOfWorkScopeBase`1.LightSpeedContext"/> associated with this scope.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.UnitOfWorkScopeBase`1.Current">
            <summary>
             Returns the current unit of work.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.UnitOfWorkScopeBase`1.HasCurrent">
            <summary>
             Returns true if this scope has a live unit of work.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.PerThreadUnitOfWorkScope`1.#ctor(Mindscape.LightSpeed.LightSpeedContext{`0})">
            <summary>
            Instantiates a new instance of this class.
            </summary>
            <param name="lightSpeedContext">The <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> associated
            with this scope.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.PerThreadUnitOfWorkScope`1.Current">
            <summary>
             Returns the current unit of work.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.PerThreadUnitOfWorkScope`1.HasCurrent">
            <summary>
             Returns true if this scope has a live unit of work.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.LightSpeedContext`1">
            <summary>
            Represents a LightSpeed domain model with a strong-typed <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>
            implementation.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.LightSpeedContext">
            <summary>
            The top-level object in the framework. Sets up a context within which the framework operates.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedContext.BeginUnitOfWork">
            <summary>
            Begins a new <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> on the default <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/>.
            </summary>
            <returns>A new <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedContext.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedContext.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> class from the
            named configuration block.
            </summary>
            <param name="configurationName">The name of the configuration block used to initialize
            this instance.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedContext.CreateUnitOfWork">
            <summary>
            Creates a new <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> associated with this <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/>.
            </summary>
            <returns>A new <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.Default">
            <summary>
            The default <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> instance.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.VerboseLogging">
            <summary>
            Gets or sets whether to perform verbose logging.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.UnitOfWorkFactory">
            <summary>
            Returns the <see cref="T:Mindscape.LightSpeed.IUnitOfWorkFactory"/> instance.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.ConnectionString">
            <summary>
            Gets or sets the database connection string.                                                                                                                                                               
            </summary>
            <value>The database connection string.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.IdentityMethod">
            <summary>
            Determines the strategy used to generate new unique identifiers.
            - KeyTable efficiently produces database unique integer keys and is great for
            web applications.
            - Guids are globally unique and fast to generate but not as user-friendly
            as integers.
            - Sequence uses a database specific sequence object to generate database unique
            integers. Available on Oracle and Postgres only.
            - IdentityColumn uses an auto-incrementing identity column.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.AutoTimestampMode">
            <summary>
            Determines how LightSpeed generates times for automatic timestamps such
            as CreatedOn (track create time), UpdatedOn (track update time) and
            DeletedOn (soft delete).
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.CustomAutoTimestampStrategy">
            <summary>
            Gets or sets a custom <see cref="T:Mindscape.LightSpeed.Timestamps.IAutoTimestampStrategy"/>.  You do not need
            to set this property unless AutoTimestampMode is set to Custom,
            in which case it is mandatory.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.AuditInfoMode">
            <summary>
            Gets or sets how LightSpeed generates audit information for
            automatic audit columns such as CreatedBy.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.CustomAuditInfoStrategy">
            <summary>
            Gets or sets the <see cref="T:Mindscape.LightSpeed.Audit.IAuditInfoStrategy"/> implementation used for
            automatic audit information.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.Logger">
            <summary>
            Gets or sets the <see cref="T:Mindscape.LightSpeed.Logging.ILogger"/> implementation used by LightSpeed.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.HasLogger">
            <summary>
            Whether or not this <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> has a <see cref="T:Mindscape.LightSpeed.Logging.ILogger"/> defined.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.CommandTimeout">
            <summary>
            Gets or sets the timeout for database queries or commands.  If null,
            the database provider default timeout is used.
            </summary>
            <remarks>Fractions of a second are ignored.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.Schema">
            <summary>
            Gets or sets the database schema.                                                                                                                                                             
            </summary>
            <value>The default schema.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.PluralizeTableNames">
            <summary>
            Gets or sets a value indicating whether table names are inferred as plural.
            </summary>
            <value><c>true</c> if table names are plural; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.CascadeDeletes">
            <summary>
            Gets or sets a value indicating whether delete operations cascade by default.
            </summary>
            <value><c>true</c> if deletes cascade by default; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.NamingStrategy">
            <summary>
            Returns the <see cref="T:Mindscape.LightSpeed.INamingStrategy"/> instance.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.DisplayNamingStrategy">
            <summary>
            Gets or sets the <see cref="T:Mindscape.LightSpeed.IDisplayNamingStrategy"/> instance.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.DataProvider">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.Data.IDataProviderAdapter"/> instance.
            </summary>
            <value>The <see cref="T:Mindscape.LightSpeed.Data.IDataProviderAdapter"/></value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.IdentityBlockSize">
            <summary>
            Gets or sets the number of identities allocated when using an <see cref="P:Mindscape.LightSpeed.LightSpeedContext.IdentityMethod"/>
            that allocates blocks of identity numbers. Currently KeyTable, Sequence and MultiSequence. The default
            block size is 10.
            </summary>
            <value>The number of identities allocated.</value>
            <remarks>For Sequence and MultiSequence methods, this must be the same as the sequence
            INCREMENT BY setting in the database.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.UpdateBatchSize">
            <summary>
            Gets or sets the maximum number of update statements per command batch.
            Defaults to 10.
            </summary>
            <value>The batch size.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.QuoteIdentifiers">
            <summary>
            Gets or sets a value indicating whether identifiers are quoted in generated SQL.
            </summary>
            <value><c>true</c> if identifiers are quoted; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.DetectPropertyNames">
            <summary>
            Gets or sets a value indicating whether LightSpeed automatically resolves property names.
            When using SetValue and GetValue in properties, LightSpeed automatically determines the name
            of the property being accessed. However, when using code generation it is more efficient to use 
            Entity.Get and Entity.Set instead. In this case, set DetectPropertyNames to false.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.Cache">
            <summary>
            If configured returns a reference to the second-level <see cref="T:Mindscape.LightSpeed.Caching.CacheBroker"/>.
            </summary>
            <value>The <see cref="T:Mindscape.LightSpeed.Caching.CacheBroker"/>, or null if no second-level cache is configured.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.SearchEngine">
            <summary>
             If configured returns a reference to the full text search engine <see cref="T:Mindscape.LightSpeed.Search.SearchEngineBroker"/>.
            </summary>
             <value>The <see cref="T:Mindscape.LightSpeed.Search.SearchEngineBroker"/>, or null if no <see cref="T:Mindscape.LightSpeed.Search.SearchEngineBroker"/> is configured.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.DataProviderObjectFactory">
            <summary>
            Gets the underlying <see cref="T:Mindscape.LightSpeed.Data.IDataProviderObjectFactory"/> which exposes
            factory methods for creating concrete ADO.NET provider objects such
            as <see cref="T:System.Data.IDbConnection"/> and <see cref="T:System.Data.IDbCommand"/>.
            </summary>
            <value>The underlying <see cref="T:Mindscape.LightSpeed.Data.IDataProviderObjectFactory"/> for the
            current <see cref="P:Mindscape.LightSpeed.LightSpeedContext.DataProvider"/>.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.SearchEngineFileLocation">
            <summary>
            Gets or sets the location of the full text search index file(s).                                                                                                                                                          
            </summary>
            <value>The location of the full text search index file(s).</value>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.UseMediumTrustCompatibility">
            <summary>
            Gets or sets medium trust compatibility.  If this is set to true, LightSpeed will
            use entity access code that is compatible with a wider range of trust environments
            at the expense of some speed.
            </summary>
            <remarks>This property must be set before any entity is instantiated.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.EntityFactory">
            <summary>
            Gets or sets an <see cref="T:Mindscape.LightSpeed.IEntityFactory"/> to be used when materialising entities from
            the database.  By default, LightSpeed calls the default constructor when materialising entities:
            use EntityFactory only if you need to use a nondefault constructor or factory method
            (for example using a dependency injection container).
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.IdentityMethodOptions">
            <summary>
            Gets or sets an <see cref="P:Mindscape.LightSpeed.LightSpeedContext.IdentityMethodOptions"/> to customise the behavior
            of the selected <see cref="P:Mindscape.LightSpeed.LightSpeedContext.IdentityMethod"/>.
            </summary>
            <remarks>This must be of the appropriate type for the selected identity method:
            for example, if the identity method is Sequence, then the options object must
            be a SequenceIdentityMethodOptions.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.CompatibilityOptions">
            <summary>
            Gets or sets flags for controlling LightSpeed compatibility behavior.
            </summary>
            <remarks>Use these flags if advised by Mindscape support to enable potentially
            breaking changes or to revert behavior when you have been affected by a change.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.LightSpeedContext.Interceptor">
            <summary>
            Gets or sets an <see cref="P:Mindscape.LightSpeed.LightSpeedContext.Interceptor"/> which allows tools such as profilers
            to intercept and override certain aspects of LightSpeed behaviour.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedContext`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LightSpeedContext`1"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedContext`1.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LightSpeedContext`1"/> class from the
            named configuration block.
            </summary>
            <param name="configurationName">The name of the configuration block used to initialize
            this instance.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedContext`1.CreateUnitOfWork">
            <summary>
            Creates a new <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> associated with this <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/>.
            </summary>
            <returns>A new <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.PerRequestUnitOfWorkScope`1">
            <summary>
             A <see cref="T:Mindscape.LightSpeed.UnitOfWorkScopeBase`1"/> appropriate for web applications.
             Creates a single unit of work instance per TUnitOfWork per web request.
            </summary>
            <typeparam name="TUnitOfWork">The concrete <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> type.</typeparam>
        </member>
        <member name="F:Mindscape.LightSpeed.PerRequestUnitOfWorkScope`1.ItemsKeyPrefix">
            <summary>
            The key prefix used to store units of work in the <see cref="P:System.Web.HttpContext.Items"/> collection.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.PerRequestUnitOfWorkScope`1.ItemsKeySuffix">
            <summary>
            The key suffix used to store units of work in the <see cref="P:System.Web.HttpContext.Items"/> collection.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.PerRequestUnitOfWorkScope`1.#ctor(Mindscape.LightSpeed.LightSpeedContext{`0})">
            <summary>
            Instantiates a new instance of this class.
            </summary>
            <param name="lightSpeedContext">The <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> associated
            with this scope.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.PerRequestUnitOfWorkScope`1.ItemsKey">
            <summary>
            The key used to store units of work in the <see cref="P:System.Web.HttpContext.Items"/> collection.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.PerRequestUnitOfWorkScope`1.Current">
            <summary>
             Returns the current unit of work.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.PerRequestUnitOfWorkScope`1.HasCurrent">
            <summary>
             Returns true if this scope has a live unit of work.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.EntityMap">
            <summary>
            Manages the mapping of entities which are involved in the query 
            allowing a series of types to be declared with an associated alias.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.EntityMap.Add(System.Type)">
            <summary>
            Register a new type with the type map where the alias will be automatically generated.
            </summary>
            <param name="entityType">The type to be registered with the map.</param>
            <returns>The automatically generated alias associated with this new type registration.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.EntityMap.Add``1(System.String)">
            <summary>
            Register a new type with the type map with the specified alias.
            </summary>
            <typeparam name="TEntity">The type to be registered with the map.</typeparam>
            <param name="alias">The alias for the type.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.EntityMap.Add(System.Type,System.String)">
            <summary>
            Register a new type with the type map with the specified alias.
            </summary>
            <param name="entityType">The type to be registered with the map.</param>
            <param name="alias">The alias for the type.</param>    
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.EntityMap.Contains(System.String)">
            <summary>
            Gets whether a specified alias is mapped.
            </summary>
            <param name="alias">The alias to be tested for whether it is mapped.</param>
            <returns>true if the alias is present in the map; otherwise false.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.EntityMap.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the map entries.
            </summary>
            <returns>An IEnumerator object that can be used to iterate through the map entries.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.EntityMap.NextAlias">
            <summary>
            Returns the next automatically generated alias as determined by the mappings already defined
            </summary>
            <returns>The next automatically generated alias</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.EntityMap.Count">
            <summary>
            Gets the number of entries in the map.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.CompiledQuery`1">
            <summary>
            Represents a compiled query.
            </summary>
            <typeparam name="T">The type of object returned by the query.</typeparam>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.ICompiledQuery`1">
            <summary>
            Represents a compiled query.
            </summary>
            <typeparam name="T">The type of object returned by the query.</typeparam>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.ICompiledQuery">
            <summary>
            Represents a compiled query.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ICompiledQuery.ExecuteRaw(Mindscape.LightSpeed.IUnitOfWork,Mindscape.LightSpeed.Querying.ICompiledParameterValues)">
            <summary>
            Executes the compiled query and returns its result.
            </summary>
            <param name="unitOfWork">The unit of work as part of which the compiled query is to be run.  This must
            be an instance of <see cref="T:Mindscape.LightSpeed.UnitOfWorkBase"/>.</param>
            <param name="parameterValues">The values for the compiled query parameters.</param>
            <returns>The result of the compiled query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ICompiledQuery`1.Execute(Mindscape.LightSpeed.IUnitOfWork,Mindscape.LightSpeed.Querying.ICompiledParameterValues)">
            <summary>
            Executes the compiled query and returns its result.
            </summary>
            <param name="unitOfWork">The unit of work as part of which the compiled query is to be run.  This must
            be an instance of <see cref="T:Mindscape.LightSpeed.UnitOfWorkBase"/>.</param>
            <param name="parameterValues">The values for the compiled query parameters.</param>
            <returns>The result of the compiled query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.CompiledQuery`1"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery`1.Execute(Mindscape.LightSpeed.IUnitOfWork)">
            <summary>
            Executes the compiled query and returns its result.
            </summary>
            <param name="unitOfWork">The unit of work as part of which the compiled query is to be run.  This must
            be an instance of <see cref="T:Mindscape.LightSpeed.UnitOfWorkBase"/>.</param>
            <returns>The result of the compiled query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery`1.ExecuteRaw(Mindscape.LightSpeed.IUnitOfWork,Mindscape.LightSpeed.Querying.ICompiledParameterValues)">
            <summary>
            Executes the compiled query and returns its result.
            </summary>
            <param name="unitOfWork">The unit of work as part of which the compiled query is to be run.  This must
            be an instance of <see cref="T:Mindscape.LightSpeed.UnitOfWorkBase"/>.</param>
            <param name="parameterValues">The values for the compiled query parameters.</param>
            <returns>The result of the compiled query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery`1.Execute(Mindscape.LightSpeed.IUnitOfWork,Mindscape.LightSpeed.Querying.ICompiledParameterValues)">
            <summary>
            Executes the compiled query and returns its result.
            </summary>
            <param name="unitOfWork">The unit of work as part of which the compiled query is to be run.  This must
            be an instance of <see cref="T:Mindscape.LightSpeed.UnitOfWorkBase"/>.</param>
            <param name="parameterValues">The values for the compiled query parameters.</param>
            <returns>The result of the compiled query.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.Compilation.SingleValueParameter">
            <summary>
            Provides a single value for the parameters of a compiled query.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Compilation.SingleValueParameter.#ctor(System.Object)">
            <summary>
            Initializes the instance with a single value to be returned as the sole parameter
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Compilation.SingleValueParameter.Value(System.Object)">
            <summary>
            Gets the value of the parameter.
            </summary>
            <param name="key">The key of the parameter which is ignored for this implementation.</param>
            <returns>The value of the parameter.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.CompiledQuery">
            <summary>
            Provides methods for creating compiled queries.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.CompileFind``1(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.IUnitOfWork)">
            <summary>
            Creates a compiled Find query.  A Find query loads a list of entities.
            </summary>
            <typeparam name="T">The type of entity to be loaded.</typeparam>
            <param name="query">The query to compile.</param>
            <param name="unitOfWork">The unit of work whose context is to be used for performing database mapping.</param>
            <returns>A compiled query which can be executed to load the entities specified by the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.CompileFind(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.IUnitOfWork)">
            <summary>
            Creates a compiled Find query.  A Find query loads a list of entities.
            </summary>
            <param name="query">The query to compile.  This must specify the entity type.</param>
            <param name="unitOfWork">The unit of work whose context is to be used for performing database mapping.</param>
            <returns>A compiled query which can be executed to load the entities specified by the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.CompileCount``1(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.IUnitOfWork)">
            <summary>
            Creates a compiled Count query.  A Count query returns a count of matching entities.
            </summary>
            <typeparam name="T">The type of entity to be counted.</typeparam>
            <param name="query">The query to compile.</param>
            <param name="unitOfWork">The unit of work whose context is to be used for performing database mapping.</param>
            <returns>A compiled query which can be executed to count the entities specified by the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.CompileCount(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.IUnitOfWork)">
            <summary>
            Creates a compiled Count query.  A Count query returns a count of matching entities.
            </summary>
            <param name="query">The query to compile.  This must specify the entity type.</param>
            <param name="unitOfWork">The unit of work whose context is to be used for performing database mapping.</param>
            <returns>A compiled query which can be executed to count the entities specified by the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.CompileCalculate(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.IUnitOfWork,System.String,Mindscape.LightSpeed.Querying.IdentifierExpression)">
            <summary>
            Creates a compiled Calculate query.  A Calculate query returns a scalar value from applying
            a calculation such as SUM or AVG to a set of matching records.
            </summary>
            <param name="query">A query specifying which entities to include in the calculation.  The EntityType
            must be specified.</param>
            <param name="unitOfWork">The unit of work whose context is to be used for performing database mapping.</param>
            <param name="calculation">The calculation to be performed.</param>
            <param name="attribute">The field or expression on which to perform the calculation.</param>
            <returns>A compiled query which can be executed to perform the calculation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.CompileProject``1(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.IUnitOfWork)">
            <summary>
            Creates a compiled Project query.  A Project query loads a list of non-entity values.
            </summary>
            <typeparam name="T">The type into which to project the results.</typeparam>
            <param name="query">The query to compile.  This must specify the entity type.</param>
            <param name="unitOfWork">The unit of work whose context is to be used for performing database mapping.</param>
            <returns>A compiled query which can be executed to load the projected values specified by the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.CompileProject(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.IUnitOfWork)">
            <summary>
            Creates a compiled Project query which returns a raw data reader.
            </summary>
            <param name="query">The query to compile.  This must specify the entity type.</param>
            <param name="unitOfWork">The unit of work whose context is to be used for performing database mapping.</param>
            <returns>A compiled query which can be executed to obtain an IDataReader for the query results.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.Parameter(System.Object)">
            <summary>
            Creates a parameter for a compiled query when using query objects.  When the query is executed, you must
            provide a value for this parameter.
            </summary>
            <param name="key">The key of the parameter.</param>
            <returns>A QueryExpression that can be used in the compiled query to represent the parameter.</returns>
            <remarks>To create a parameter for a compiled LINQ query, use the
            strongly-typed <see cref="M:Mindscape.LightSpeed.Querying.CompiledQuery.Parameter``1(System.Object)"/> method.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.Parameter``1(System.Object)">
            <summary>
            Creates a parameter for a compiled LINQ query.  When the query is executed, you must
            provide a value for this parameter.
            </summary>
            <typeparam name="T">The data type of the parameter.</typeparam>
            <param name="key">The key of the parameter.</param>
            <returns>This method is used in LINQ queries to represent a parameter; attempting to execute
            it results in an error.</returns>
            <remarks>This method is used only in LINQ queries.  For query objects, use the untyped
            <see cref="M:Mindscape.LightSpeed.Querying.CompiledQuery.Parameter(System.Object)"/> method which returns a QueryExpression.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.CompiledQuery.Parameters(System.Object)">
            <summary>
            Adapts an anonymous type to provide parameters for a compiled query execution.
            </summary>
            <param name="parameterValues">An object whose properties correspond to
            the desired parameter names and values.  This can conveniently be an instance of an
            anonymous type.</param>
            <returns>An ICompiledParameterValues that can be passed to an executing compiled query.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.FunctionExpression">
            <summary>
            Represents a SQL function.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.QueryExpression`1">
            <summary>
            Abstract base class for all query expressions used in the framework.
            </summary>
            <typeparam name="TExpression"></typeparam>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.QueryExpression">
            <summary>
            Abstract base class for all expressions used in the framework.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.QueryExpression.op_BitwiseAnd(Mindscape.LightSpeed.Querying.QueryExpression,Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            The logical AND operator.
            </summary>
            <param name="leftHandSide">The expression to preceed the operator.</param>
            <param name="rightHandSide">The expression to follow the operator.</param>
            <returns>The expression with the provided expressions joined with an AND operator.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.QueryExpression.op_BitwiseOr(Mindscape.LightSpeed.Querying.QueryExpression,Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            The logical OR operator. 
            </summary>
            <param name="leftHandSide">The expression to preceed the operator.</param>
            <param name="rightHandSide">The expression to follow the operator.</param>
            <returns>The expression with the provided expressions joined with an OR operator.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.QueryExpression.op_True(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Overloaded implementation for the "true" operator.
            </summary>
            <param name="queryExpression">The expression being operated on.</param>
            <returns>false</returns>
            <remarks>Not actually used, but is required to support other operator overloads.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.QueryExpression.op_False(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Overloaded implementation for the "false" operator.
            </summary>
            <param name="queryExpression">The expression being operated on.</param>
            <returns>false</returns>
            <remarks>Not actually used, but is required to support other operator overloads.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.QueryExpression.op_LogicalNot(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Overloaded implementation for the ! operator.
            </summary>
            <param name="queryExpression">The expression being operated on.</param>
            <returns>The negation of the supplied <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.FunctionExpression.#ctor(System.String)">
            <summary>
            Initialises a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.FunctionExpression"/> class.
            </summary>
            <param name="name">The name of the SQL function.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.FunctionExpression.#ctor(System.String,System.Collections.Generic.IEnumerable{Mindscape.LightSpeed.Querying.QueryExpression})">
            <summary>
            Initialises a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.FunctionExpression"/> class.
            </summary>
            <param name="name">The name of the SQL function.</param>
            <param name="arguments">Additional arguments to pass to the SQL function.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.FunctionExpression.#ctor(System.String,System.Int32,System.Collections.Generic.IEnumerable{Mindscape.LightSpeed.Querying.QueryExpression})">
            <summary>
            Initialises a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.FunctionExpression"/> class.
            </summary>
            <param name="name">The name of the SQL function.</param>
            <param name="implicitArgumentIndex">The index at which the expression to which the
            FunctionExpression is attached will appear in the arguments to the SQL function.</param>
            <param name="arguments">Additional arguments to pass to the SQL function.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.FunctionExpression.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see> 
            is equal to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to compare
            with the current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is 
            equal to the current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.FunctionExpression.GetHashCode">
            <summary>
            Serves as a hash function for a particular type. <see cref="M:System.Object.GetHashCode"></see>
            is suitable for use in hashing algorithms and data structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.FunctionExpression.Name">
            <summary>
            The name of the SQL function.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.FunctionExpression.ImplicitArgumentIndex">
            <summary>
            Gets the index at which the expression to which the
            <see cref="T:Mindscape.LightSpeed.Querying.FunctionExpression"/> is attached will appear in the arguments to the SQL function.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.FunctionExpression.Arguments">
            <summary>
            Additional arguments to pass to the SQL function.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Configuration.ContextSettingsCollection">
            <summary>
            A <see cref="T:System.Configuration.ConfigurationElementCollection"/> of <see cref="T:Mindscape.LightSpeed.Configuration.ContextSettings"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Configuration.ContextSettingsCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Configuration.ContextSettingsCollection"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Configuration.ContextSettingsCollection.Add(Mindscape.LightSpeed.Configuration.ContextSettings)">
            <summary>
            Adds an object to the collection.
            </summary>
            <param name="settings">The object to add to the collection.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Configuration.ContextSettingsCollection.BaseAdd(System.Int32,System.Configuration.ConfigurationElement)">
            <summary>
            Adds a configuration element to the configuration element collection.
            </summary>
            <param name="index">The index location at which to add the specified ConfigurationElement.</param>
            <param name="element">The ConfigurationElement to add.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Configuration.ContextSettingsCollection.CreateNewElement">
            <summary>
            Creates a new ConfigurationElement.
            </summary>
            <returns>A new ConfigurationElement.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Configuration.ContextSettingsCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <summary>
            Gets the key of the given <see cref="T:System.Configuration.ConfigurationElement"/>.
            </summary>
            <param name="element">A <see cref="T:System.Configuration.ConfigurationElement"/>.</param>
            <returns>A System.Object that acts as the key for the specified
            System.Configuration.ConfigurationElement.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettingsCollection.Item(System.String)">
            <summary>
            An indexer into the collection.
            </summary>
            <param name="name">The name of the <see cref="T:Mindscape.LightSpeed.Configuration.ContextSettings"/> object to return.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Configuration.ContextSettings"/> object.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.ContextSettingsCollection.Item(System.Int32)">
            <summary>
            An indexer into the collection.
            </summary>
            <param name="index">The index of the <see cref="T:Mindscape.LightSpeed.Configuration.ContextSettings"/> object to return.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Configuration.ContextSettings"/> object.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.Group">
            <summary>
            Specification of how results of a <see cref="T:Mindscape.LightSpeed.Querying.Query"/> should be grouped.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Group.BySelection">
            <summary>
            Specifies that the results of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> should be grouped
            using all selected attributes; that is, only identical records will be
            grouped.
            </summary>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Group"/> specifying grouping on all selected attributes.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Group.By(System.String)">
            <summary>
            Specifies that the results of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> should be grouped
            by the specified attribute or expression.
            </summary>
            <param name="identifier">The expression by which to group results.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Group"/> specifying grouping on the <paramref name="identifier"/> expression</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Group.By(Mindscape.LightSpeed.Querying.IAttributePathExpression)">
            <summary>
            Specifies that the results of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> should be grouped
            by the specified attribute or expression.
            </summary>
            <param name="identifier">The expression by which to group results.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Group"/> specifying grouping on the <paramref name="identifier"/> expression</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Group.AndBy(System.String)">
            <summary>
            Specifies that the results of a grouped <see cref="T:Mindscape.LightSpeed.Querying.Query"/> should
            be further grouped by the specified attribute or expression.
            </summary>
            <param name="identifier">The expression by which to group results.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Group"/> specifying grouping on the current expression
            and subgrouping on the <paramref name="identifier"/> expression.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Group.AndBy(Mindscape.LightSpeed.Querying.IAttributePathExpression)">
            <summary>
            Specifies that the results of a grouped <see cref="T:Mindscape.LightSpeed.Querying.Query"/> should
            be further grouped by the specified attribute or expression.
            </summary>
            <param name="identifier">The expression by which to group results.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Group"/> specifying grouping on the current expression
            and subgrouping on the <paramref name="identifier"/> expression.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Group.WhereAnyMatches">
            <summary>
            Specifies that the results of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> should be grouped together
            where any values match.
            </summary>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Group"/> specifying grouping on the current expression(s)
            where any values match.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Group.WhereAllMatch">
            <summary>
            Specifies that the results of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> should be grouped together
            only if all values match.
            </summary>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Group"/> specifying grouping on the current expression(s)
            only if all values match.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Group.Having">
            <summary>
            Represents the criteria which will be using to filter this grouping
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.Hints">
            <summary>
            Specifies hints or other execution guidance to be passed to
            the database for use in query planning.
            </summary>
            <remarks>
            Hint support is database-dependent.  LightSpeed does not warn if you provide
            a hint which is not supported by the database engine.  Some combinations of hints
            and database engines may not be supported from LightSpeed even if the engine supports
            them: use LightSpeedContext.Logger to check the generated SQL query, and refer
            to the documentation for information on what hints are supported on what databases.
            </remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Hints.Indexes">
            <summary>
            The database indexes to be used in query planning.
            </summary>
            <remarks>Supported on SQL Server and Oracle only.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Hints.TableHints">
            <summary>
            The table hints to be used in query planning.
            </summary>
            <remarks>Supported on SQL Server only.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.IFunctionWrappableExpression">
            <summary>
            Represents a <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> which can be modified by SQL functions.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IFunctionWrappableExpression.AddFunction(System.String,System.Int32,Mindscape.LightSpeed.Querying.QueryExpression[])">
            <summary>
            Sets a SQL function to be applied to this expression (attribute).
            </summary>
            <param name="name">The native SQL name of the function.</param>
            <param name="implicitArgumentIndex">The index at which the expression on which the
            function operates will appear in the arguments to the SQL function.</param>
            <param name="arguments">Arguments to be passed to the function.</param>
            <returns>An expression representing the results of applying the function to the implementing expression.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.IQueryFilter">
            <summary>
            Represents a filter to be automatically applied by LightSpeed
            to all queries for specified types.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.IQueryFilter.Filter">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing the filter to be applied.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.JoinType">
            <summary>
            Specifies the type of a <see cref="T:Mindscape.LightSpeed.Querying.Join"/>.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.JoinType.Inner">
            <summary>
            Indicates a join on the intersection between two entity sets
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.JoinType.LeftOuter">
            <summary>
            Indicates a join between two entity sets where the right hand set may be empty if there is no matching entity in the right hand set
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.JoinType.CrossJoin">
            <summary>
            Indicates a cartesian product join between two entity sets
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.JoinCondition">
            <summary>
            Represents a condition for the join
            </summary>
            <remarks>
            Joins with multiple conditions will be joining on multiple columns
            The legacy behaviour of LightSpeed was to only support simple (single column) joins
            </remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.JoinCondition.#ctor">
            <summary>
            Default constructor for a LightSpeed join condition
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.JoinCondition.#ctor(Mindscape.LightSpeed.Querying.JoinConditionExpression,Mindscape.LightSpeed.Querying.JoinConditionExpression)">
            <summary>
            Initializes a join condition specifying the left and right hand side expressions
            </summary>
            <param name="lhs">The expression of the left hand side of the condition</param>
            <param name="rhs">The expression of the right hand side of the condition</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.JoinCondition.Lhs">
            <summary>
            The expression of the left hand side of the condition
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.JoinCondition.Rhs">
            <summary>
            The expression of the right hand side of the condition
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.JoinConditionExpression">
            <summary>
            Represents an expression which refers to an underlying database column for an entity when it is mapped
            to the database
            </summary>
            <remarks>
            Aliases are used in conjunction with the entity map which will be passed through from the query.
            These are generally built up automatically, so should not be specified directly as they will be resolved
            when a SQL expression is generated. However if you are specifying the aliases manually in the query you may
            wish to also specify aliases when declaring your joins for greater precision
            </remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.JoinConditionExpression.#ctor(System.Type,System.String)">
            <summary>
            Initialize the expression based on an entity type and a column name
            </summary>
            <param name="type">The selection type which this expression refers to</param>
            <param name="columnName">The column which this expression refers to</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.JoinConditionExpression.#ctor(System.Type,System.String,System.String)">
            <summary>
            Initialize the expression based on an entity type, an alias and a column name
            </summary>
            <param name="type">The selection type which this expression refers to</param>
            <param name="alias">The alias being used by this expression</param>
            <param name="columnName">The column which this expression refers to</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.JoinConditionExpression.#ctor(System.String,System.String)">
            <summary>
            Initialize the expression based on an alias and a column name
            </summary>
            <param name="alias">The alias being used by this expression</param>
            <param name="columnName">The column which this expression refers to</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.JoinConditionExpression.Alias">
            <summary>
            The alias being used by this expression which will be used when resolving this to a SQL expression
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.JoinConditionExpression.ColumnName">
            <summary>
            The database column name which this expression refers to
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.JoinConditionExpression.Selectable">
            <summary>
            The selectable which will be used by LightSpeed when resolving this to a SQL expression
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.JoinConditionExpression.SelectionType">
            <summary>
            The selection type which this expression refers to
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.JoinSpecification">
            <summary>
            Used to describe a join which will be added to a SqlStatement
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.Join">
            <summary>
            Specification of how two selections should be joined in a <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Inner(System.Type,System.Type,System.String,System.String)">
            <summary>
            Specifies an inner join between two entity types.
            </summary>
            <param name="lhs">The first entity type to be joined.</param>
            <param name="rhs">The second entity type to be joined.</param>
            <param name="lhsColumnName">The attribute in the first entity type on which to join.</param>
            <param name="rhsColumnName">The attribute in the second entity type on which to join.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing an inner join between the
            specified entities on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Inner(System.Type,Mindscape.LightSpeed.Querying.Query,System.String,System.String)">
            <summary>
            Specifies an inner join between an entity type and another <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
            <param name="lhs">The entity type to be joined.</param>
            <param name="rhs">The query to be joined.</param>
            <param name="lhsColumnName">The attribute in the entity type on which to join.</param>
            <param name="rhsColumnName">The attribute in the query on which to join.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing an inner join between the
            specified entity and query on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Inner(System.Type,System.Type,System.String,System.String,System.String,System.String)">
            <summary>
            Specifies an inner join between an entity type and another <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
            <param name="lhs">The entity type to be joined.</param>
            <param name="rhs">The query to be joined.</param>
            <param name="lhsAlias">The alias for the left hand side type</param>
            <param name="rhsAlias">The alias for the right hand side type</param>
            <param name="lhsColumnName">The attribute in the entity type on which to join.</param>
            <param name="rhsColumnName">The attribute in the query on which to join.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing an inner join between the
            specified entity and query on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Inner``2(System.String,System.String)">
            <summary>
            Specifies an inner join between two entity types.
            </summary>
            <typeparam name="TLhs">The first entity type to be joined.</typeparam>
            <typeparam name="TRhs">The second entity type to be joined.</typeparam>
            <param name="lhsColumnName">The attribute in the first entity type on which to join.</param>
            <param name="rhsColumnName">The attribute in the second entity type on which to join.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing an inner join between the
            specified entities on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Inner(System.Collections.Generic.IList{Mindscape.LightSpeed.Querying.JoinCondition})">
            <summary>
            Specifies an inner join between two entity types.
            </summary>
            <param name="conditions">The conditions on which the join will be made</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing an inner join between the
            specified entities on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Outer(System.Type,System.Type,System.String,System.String)">
            <summary>
            Specifies a (left) outer join between two entity types.
            </summary>
            <param name="lhs">The first entity type to be joined.</param>
            <param name="rhs">The second entity type to be joined.</param>
            <param name="lhsColumnName">The attribute in the first entity type on which to join.</param>
            <param name="rhsColumnName">The attribute in the second entity type on which to join.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing a (left) outer join between the
            specified entities on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Outer(System.Type,Mindscape.LightSpeed.Querying.Query,System.String,System.String)">
            <summary>
            Specifies a (left) outer join between an entity type and a query
            </summary>
            <param name="lhs">The entity type to be joined</param>
            <param name="rhs">The query to be joined</param>
            <param name="lhsColumnName">The attribute in the entity type on which to join.</param>
            <param name="rhsColumnName">The attribute in the query on which to join</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing a (left) outer join between the
            specified entities on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Outer(System.Type,System.Type,System.String,System.String,System.String,System.String)">
            <summary>
            Specifies a (left) outer join between an entity type and a query
            </summary>
            <param name="lhs">The entity type to be joined</param>
            <param name="rhs">The entity type to be joined to</param>
            <param name="lhsAlias">The alias for the left hand side type</param>
            <param name="rhsAlias">The alias for the right hand side type</param>
            <param name="lhsColumnName">The attribute in the entity type on which to join.</param>
            <param name="rhsColumnName">The attribute in the query on which to join</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing a (left) outer join between the
            specified entities on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Outer``2(System.String,System.String)">
            <summary>
            Specifies a (left) outer join between two entity types.
            </summary>
            <typeparam name="TLhs">The first entity type to be joined.</typeparam>
            <typeparam name="TRhs">The second entity type to be joined.</typeparam>
            <param name="lhsColumnName">The attribute in the first entity type on which to join.</param>
            <param name="rhsColumnName">The attribute in the second entity type on which to join.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing a (left) outer join between the
            specified entities on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Outer(System.String,System.String,System.String,System.String)">
            <summary>
            Specifies a (left) outer join between two entries in the <see cref="P:Mindscape.LightSpeed.Querying.Query.Mappings"/> collection.
            </summary>
            <param name="lhs">The alias of the first selection to be joined.</param>
            <param name="rhs">The alias of the second selection to be joined.</param>
            <param name="lhsColumnName">The attribute in the first entity type on which to join.</param>
            <param name="rhsColumnName">The attribute in the second entity type on which to join.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing a (left) outer join between the
            specified entities on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.Outer(System.Collections.Generic.IList{Mindscape.LightSpeed.Querying.JoinCondition})">
            <summary>
            Specifies a (left) outer join between two entries in the <see cref="P:Mindscape.LightSpeed.Querying.Query.Mappings"/> collection.
            </summary>
            <param name="conditions">The conditions on which the join will be made</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing a (left) outer join between the
            specified entities on the specified columns.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.CrossJoin(System.Type,System.Type)">
            <summary>
            Specifies a cross join between two entity types.
            </summary>
            <param name="lhs">The first entity type to be joined.</param>
            <param name="rhs">The second entity type to be joined.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing a cross join between the specified
            entities.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.CrossJoin(System.Type,Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Specifies a cross join between an entity type and a sub query
            </summary>
            <param name="lhs">The first entity type to be joined.</param>
            <param name="rhs">The sub query to be joined.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing a cross join between the specified entity and subquery</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.CrossJoin``2">
            <summary>
            Specifies a cross join between two entity types.
            </summary>
            <typeparam name="TLhs">The first entity type to be joined.</typeparam>
            <typeparam name="TRhs">The second entity type to be joined.</typeparam>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Join"/> representing a cross join between the specified
            entities.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Join.And(Mindscape.LightSpeed.Querying.Join)">
            <summary>
            Adds an additional join to the join specification.
            </summary>
            <param name="join">The join to be added to the join specification.</param>
            <returns>A join specification representing the combined join.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Join.JoinType">
            <summary>
            Gets or sets the type of join.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Join.Conditions">
            <summary>
            The conditions on which the join is being based
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.ProcedureParameter">
            <summary>
            Represents a parameter to a <see cref="T:Mindscape.LightSpeed.Querying.ProcedureQuery"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ProcedureParameter.#ctor(System.String,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.ProcedureParameter"/> class.
            </summary>
            <param name="name">The name of the parameter.</param>
            <param name="value">The value of the parameter.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ProcedureParameter.#ctor(System.String,System.Object,System.Data.ParameterDirection,System.Nullable{System.Data.DbType},System.Nullable{System.Int32})">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.ProcedureParameter"/> class.
            </summary>
            <param name="name">The name of the parameter.</param>
            <param name="value">The value of the parameter.</param>
            <param name="direction">The parameter direction.</param>
            <param name="dataType">The data type.</param>
            <param name="size">The size of the data.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ProcedureParameter.#ctor(System.String,System.Object,System.Data.ParameterDirection,System.Nullable{System.Data.DbType},System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32})">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.ProcedureParameter"/> class.
            </summary>
            <param name="name">The name of the parameter.</param>
            <param name="value">The value of the parameter.</param>
            <param name="direction">The parameter direction.</param>
            <param name="dataType">The data type.</param>
            <param name="size">The size of the data.</param>
            <param name="precision">The precision of the data.</param>
            <param name="scale">The scale of the data.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureParameter.Name">
            <summary>
            Gets or sets the name of the parameter.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureParameter.Value">
            <summary>
            Gets or sets the value of the parameter.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureParameter.Direction">
            <summary>
            Gets or sets the parameter direction.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureParameter.DataType">
            <summary>
            Gets or sets the data type (for out parameters).
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureParameter.Size">
            <summary>
            Gets or sets the size of the data (for out parameters).
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureParameter.Precision">
            <summary>
            Gets or sets the precision of the data (for out parameters).
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureParameter.Scale">
            <summary>
            Gets or sets the scale of the data (for out parameters).
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.ProcedureQuery">
            <summary>
            Represents a query to a stored procedure in the database.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ProcedureQuery.#ctor(System.String,Mindscape.LightSpeed.Querying.ProcedureParameter[])">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.ProcedureQuery"/> class.
            </summary>
            <param name="procedureName">The name of the stored procedure.</param>
            <param name="parameters">The parameters to be passed to the stored procedure.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureQuery.ProcedureName">
            <summary>
            The name of the stored procedure.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureQuery.Parameters">
            <summary>
            The parameters to be passed to the stored procedure.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.ProcedureQuery.EntityType">
            <summary>
            Gets or sets the <see cref="T:System.Type"/> of the <see cref="T:Mindscape.LightSpeed.Entity"/> this
            query is targeting.
            </summary>
            <value>The <see cref="T:System.Type"/> of the <see cref="T:Mindscape.LightSpeed.Entity"/> this query is targeting.</value>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.ProjectionCollection">
            <summary>
            A collection of field names representing a projection. A projection query returns
            only a subset of fields of an entity.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ProjectionCollection.Add(System.String)">
            <summary>
            Adds a field to the projection by name.  This is a shortcut for adding
            an <see cref="T:Mindscape.LightSpeed.Querying.IdentifierExpression"/> for the field.
            </summary>
            <param name="attribute">The name of the field.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ProjectionCollection.Add(System.String,System.String)">
            <summary>
            Adds a field to the projection by name including a scope for the entity mapping which this identifier belows to.  This is a shortcut for adding
            an <see cref="T:Mindscape.LightSpeed.Querying.IdentifierExpression"/> for the field.
            </summary>
            <param name="alias">The name of the alias for the underlying entity which this field belongs to.</param>
            <param name="attribute">The name of the field.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ProjectionCollection.Add``1(System.String)">
            <summary>
            Adds a field to the projection by name including a scope for the entity mapping which this identifier belongs to.  This is a shortcut for adding
            an <see cref="T:Mindscape.LightSpeed.Querying.IdentifierExpression"/> for the field.
            </summary>
            <typeparam name="TEntity">The entity type (of which the alias will be determined from the alias mappings)</typeparam>
            <param name="attribute">The name of the field.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.ProjectionCollection.Add(System.Type,System.String)">
            <summary>
            Adds a field to the projection by name including a scope for the entity mapping which this identifier belongs to.  This is a shortcut for adding
            an <see cref="T:Mindscape.LightSpeed.Querying.IdentifierExpression"/> for the field.
            </summary>
            <param name="entityType">The entity type (of which the alias will be determined from the alias mappings)</param>
            <param name="attribute">The name of the field.</param>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.QuerySubexpression">
            <summary>
            Maps a name to a subexpression or subquery such as an aggregate.  This name
            can then be used in a <see cref="P:Mindscape.LightSpeed.Querying.QuerySubexpression.QueryExpression"/> or <see cref="T:Mindscape.LightSpeed.Querying.ProjectionCollection"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.QuerySubexpression.Name">
            <summary>
            Gets the name of the subexpression.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.QuerySubexpression.Path">
            <summary>
            Gets the expression named by the <see cref="T:Mindscape.LightSpeed.Querying.QuerySubexpression"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.QuerySubexpression.JoinColumn">
            <summary>
            Gets the attribute on which the expression is joined to the
            primary table being queried.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.QuerySubexpression.QueryExpression">
            <summary>
            Gets or sets a <see cref="P:Mindscape.LightSpeed.Querying.QuerySubexpression.QueryExpression"/> that filters the subquery.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.QuerySubexpressionCollection">
            <summary>
            Represents a collection of <see cref="T:Mindscape.LightSpeed.Querying.QuerySubexpression"/> objects.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.QuerySubexpressionCollection.Add(System.String,Mindscape.LightSpeed.Querying.PathExpression,System.String)">
            <summary>
            Adds a new <see cref="T:Mindscape.LightSpeed.Querying.QuerySubexpression"/> to the collection.
            </summary>
            <param name="name">The name being assigned to the subexpression.</param>
            <param name="path">The subexpression.</param>
            <param name="joinColumn">The attribute on which the subexpression is joined
            to the primary table being queried.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.QuerySubexpression"/> representing the new named
            subexpression.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.QuerySubexpressionCollection.Add(System.String,Mindscape.LightSpeed.Querying.PathExpression,System.String,System.Boolean)">
            <summary>
            Adds a new <see cref="T:Mindscape.LightSpeed.Querying.QuerySubexpression"/> to the collection, optionally
            assigning a new name to it.
            </summary>
            <param name="name">The name being assigned to the subexpression.</param>
            <param name="path">The subexpression.</param>
            <param name="joinColumn">The attribute on which the subexpression is joined
            to the primary table being queried.</param>
            <param name="autoRenameDuplicates">If true, and the <paramref name="name"/> is
            already in use in this <see cref="T:Mindscape.LightSpeed.Querying.QuerySubexpressionCollection"/>, a new name 
            is assigned automatically.  The new name can be got from the returned value.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.QuerySubexpression"/> representing the new named
            subexpression.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.QuerySubexpressionCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.Querying.QuerySubexpression"/> with the specified name.
            </summary>
            <param name="name">The name of the subexpression.</param>
            <returns>The <see cref="T:Mindscape.LightSpeed.Querying.QuerySubexpression"/> with the specified name,
            or null if no subexpression has this name.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.RepositoryBase`1">
            <summary>
             Base class for classes implementing a Repository pattern.
            </summary>
            <typeparam name="TUnitOfWork">The concrete <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> type.</typeparam>
        </member>
        <member name="M:Mindscape.LightSpeed.RepositoryBase`1.#ctor(Mindscape.LightSpeed.UnitOfWorkScopeBase{`0})">
            <summary>
            Instantiates a new instance of this class.
            </summary>
            <param name="unitOfWorkScope">The <see cref="T:Mindscape.LightSpeed.UnitOfWorkScopeBase`1"/>
            associated with this repository.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.RepositoryBase`1.SaveChanges">
            <summary>
            Flushes pending changes to the underlying database.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.RepositoryBase`1.UnitOfWorkScope">
            <summary>
            Returns the <see cref="T:Mindscape.LightSpeed.UnitOfWorkScopeBase`1"/> associated with
            this repository.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Search.SearchResult">
            <summary>
            A search result from a full text search engine.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Search.IndexKey">
            <summary>
            Represents a key for a full text search index item.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.IndexKey.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Search.IndexKey"/> class.
            </summary>
            <param name="key">A unique key for this entry.</param>
            <param name="scope">A qualifier for this <see cref="T:Mindscape.LightSpeed.Search.IndexKey"/>.</param>
            <param name="entityId">The id of the associated <see cref="T:Mindscape.LightSpeed.Entity"/>.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Search.IndexKey.Key">
            <summary>
            A value unique within <see cref="P:Mindscape.LightSpeed.Search.IndexKey.Scope"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Search.IndexKey.Scope">
            <summary>
            A qualifier for this <see cref="T:Mindscape.LightSpeed.Search.IndexKey"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Search.IndexKey.EntityId">
            <summary>
            The id of the associated <see cref="T:Mindscape.LightSpeed.Entity"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.SearchResult.#ctor(System.String,System.String,System.String,System.Single)">
            <summary>
            Wrapper over a search engine returned record
            </summary>
            <param name="key">The key of the result item</param>
            <param name="scope">The identifying scope</param>
            <param name="entityId">The identity of the entity that the result item refers</param>
            <param name="score">The search ranking score</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Search.SearchResult.Score">
            <summary>
            Gets the score of this result as determined by the <see cref="T:Mindscape.LightSpeed.Search.ISearchEngine"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Search.SearchResult.Entity">
            <summary>
            The resulting <see cref="P:Mindscape.LightSpeed.Search.SearchResult.Entity"/>.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Search.SearchEngineBroker">
            <summary>
            Brokers access to the concrete <see cref="T:Mindscape.LightSpeed.Search.ISearchEngine"/> implementation.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.SearchEngineBroker.#ctor(Mindscape.LightSpeed.Search.ISearchEngine)">
            <summary>
            Creates a new instance of <see cref="T:Mindscape.LightSpeed.Search.SearchEngineBroker"/>.
            </summary>
            <param name="searchEngine">The concrete <see cref="T:Mindscape.LightSpeed.Search.ISearchEngine"/> implementation.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.SearchEngineBroker.Search(System.String,System.Type[])">
            <summary>
            Perform a full text search.
            </summary>
            <param name="query">The full text search query.</param>
            <param name="types">A list of types used to limit the results returned.</param>
            <returns>A collection of <see cref="T:Mindscape.LightSpeed.Search.SearchResult"/> objects.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.SearchEngineBroker.Add(Mindscape.LightSpeed.Entity)">
            <summary>
            Add an <see cref="T:Mindscape.LightSpeed.Entity"/> to the index.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/>.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.SearchEngineBroker.Update(Mindscape.LightSpeed.Entity)">
            <summary>
            Updates an <see cref="T:Mindscape.LightSpeed.Entity"/> in the index.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/>.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.SearchEngineBroker.Remove(Mindscape.LightSpeed.Entity)">
            <summary>
            Removes an <see cref="T:Mindscape.LightSpeed.Entity"/> from the index.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/>.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.SearchEngineBroker.Rebuild(System.Type[])">
            <summary>
            Rebuilds the index.
            </summary>
            <param name="types">A collection of LightSpeed types that should be indexed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.SearchEngineBroker.Rebuild(System.Data.IsolationLevel,System.Type[])">
            <summary>
            Rebuilds the index.
            </summary>
            <param name="isolationLevel">The isolatation level used for the data retrieval transaction.</param>
            <param name="types">A collection of LightSpeed types that should be indexed.</param>
        </member>
        <member name="T:Mindscape.LightSpeed.Search.LuceneSearchEngine">
            <summary>
            Implementation of <see cref="T:Mindscape.LightSpeed.Search.ISearchEngine"/> using the Lucene.Net search engine.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Search.ISearchEngine">
            <summary>
            Contract for a full text search engine.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.ISearchEngine.Search(System.String,System.String[])">
            <summary>
            Perform a full text search.
            </summary>
            <param name="query">The full text search query.</param>
            <param name="scopes">A list of scopes used to limit the results returned.</param>
            <returns>A collection of <see cref="T:Mindscape.LightSpeed.Search.SearchResult"/> objects.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.ISearchEngine.Add(Mindscape.LightSpeed.Search.IndexKey,System.String)">
            <summary>
            Add an item to the index.
            </summary>
            <param name="indexKey">The key of the item.</param>
            <param name="data">The data to be indexed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.ISearchEngine.Update(Mindscape.LightSpeed.Search.IndexKey,System.String)">
            <summary>
            Updates an item in the index.
            </summary>
            <param name="indexKey">The key of the item.</param>
            <param name="data">The data to be indexed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.ISearchEngine.Remove(Mindscape.LightSpeed.Search.IndexKey)">
            <summary>
            Removes an item from the index.
            </summary>
            <param name="indexKey">The key of the item.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.ISearchEngine.Optimize">
            <summary>
            Optimizes the search index data structure (if supported by the search engine)
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.ISearchEngine.Clear">
            <summary>
            Clears all items from the index.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.ISearchEngine.BeginBulkAdd">
            <summary>
            Signal the beginning of a bulk add operation.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.ISearchEngine.EndBulkAdd">
            <summary>
            Signal the end of a bulk add operation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Search.ISearchEngine.Context">
            <summary>
            Gets or sets a <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/>
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.#ctor">
            <summary>
            Initializes the LuceneSearchEngine with a default standard analyzer
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.#ctor(System.String[])">
            <summary>
            Initializes the LuceneSearchEngine using a standard analyzer with the supplied stop words
            </summary>
            <param name="stopWords">The list of stop words to be used by Lucene</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.Search(System.String,System.String[])">
            <summary>
            Perform a full text search.
            </summary>
            <param name="query">The full text search query.</param>
            <param name="scopes">A list of scopes used to limit the results returned.</param>
            <returns>A collection of <see cref="T:Mindscape.LightSpeed.Search.SearchResult"/> objects.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.Add(Mindscape.LightSpeed.Search.IndexKey,System.String)">
            <summary>
            Add an item to the index.
            </summary>
            <param name="indexKey">The key of the item.</param>
            <param name="data">The data to be indexed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.Update(Mindscape.LightSpeed.Search.IndexKey,System.String)">
            <summary>
            Updates an item in the index.
            </summary>
            <param name="indexKey">The key of the item.</param>
            <param name="data">The data to be indexed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.Remove(Mindscape.LightSpeed.Search.IndexKey)">
            <summary>
            Removes an item from the index.
            </summary>
            <param name="indexKey">The key of the item.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.Optimize">
            <summary>
            Optimizes the search index data structure (if supported by the search engine)
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.Clear">
            <summary>
            Clears all items from the index.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.BeginBulkAdd">
            <summary>
            Signal the beginning of a bulk add operation.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Search.LuceneSearchEngine.EndBulkAdd">
            <summary>
            Signal the end of a bulk add operation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Search.LuceneSearchEngine.Context">
            <summary>
            Gets or sets a <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/>
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.SimpleUnitOfWorkScope`1">
            <summary>
             A non-threadsafe <see cref="T:Mindscape.LightSpeed.UnitOfWorkScopeBase`1"/> that holds the
             current unit of work in an instance variable.
            </summary>
            <typeparam name="TUnitOfWork">The concrete <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> type.</typeparam>
        </member>
        <member name="M:Mindscape.LightSpeed.SimpleUnitOfWorkScope`1.#ctor(Mindscape.LightSpeed.LightSpeedContext{`0})">
            <summary>
            Instantiates a new instance of this class.
            </summary>
            <param name="lightSpeedContext">The <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> associated
            with this scope.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.SimpleUnitOfWorkScope`1.Current">
            <summary>
             Returns the current unit of work.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.SimpleUnitOfWorkScope`1.HasCurrent">
            <summary>
             Returns true if this scope has a live unit of work.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Testing.TestUnitOfWork">
            <summary>
            Provides a fake Unit of Work which can be used for testing. Expected results can be set by calling
            SetExpected* methods before executing query methods.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Testing.TestUnitOfWork"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SetExpectedCountResult(System.Int64)">
            <summary>
            Set the result of the next count query
            </summary>
            <param name="result">The result to return</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SetExpectedProjectionResult(System.Data.IDataReader)">
            <summary>
            Set the result of the next projection query
            </summary>
            <param name="result">The IDataReader to be returned</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SetExpectedCalculateResult(System.Object)">
            <summary>
            Set the result of the next calculated method
            </summary>
            <param name="result">The result to return</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SetExpectedCalculateResult(System.Int32)">
            <summary>
            Set the result of the next Execute method
            </summary>
            <param name="result">The result to return</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SetExpectedSingleResult(Mindscape.LightSpeed.Entity)">
            <summary>
            Set the result of the next FindOne query
            </summary>
            <param name="result">The entity to return</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SetExpectedGroupResult(Mindscape.LightSpeed.EntityTuple)">
            <summary>
            Set the result of the next FindByGroup query
            </summary>
            <param name="result">The entity tuple to return.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SetExpectedCollectionResult(System.Collections.Generic.IList{Mindscape.LightSpeed.Entity})">
            <summary>
            Set the result of the next query which would return a collection of entities
            </summary>
            <param name="result">The entities to return</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SetExpectedSearchResult(System.Collections.Generic.IList{Mindscape.LightSpeed.Search.SearchResult})">
            <summary>
            Set the result of the next search query
            </summary>
            <param name="result">The search results to be returned</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SetExpectedProjectionResult(System.Collections.IList)">
            <summary>
            Set the result of the next projection query
            </summary>
            <param name="result">The collection to be returned</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Count(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns the number of entities based on the supplied <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
            <param name="query">The <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The number of entities.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Calculate(System.String,Mindscape.LightSpeed.Querying.IdentifierExpression,Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Performs a database calculation such as COUNT, SUM or AVG.
            </summary>
            <param name="calculation">A SQL fragment representing the target calculation function. E.g. "SUM".</param>
            <param name="attribute">The target attribute.</param>
            <param name="query">A <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.</param>
            <returns>The result of the calculation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Calculate(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Performs a database calculation (scalar query) using a database stored procedure.
            </summary>
            <param name="query">The database stored procedure query.</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Execute(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Executes a database stored procedure.
            </summary>
            <param name="query">The database stored procedure.</param>
            <returns>The number of rows affected by the query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.FindOne(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Finds a single <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.
            </summary>
            <param name="query">The query.</param>
            <returns>The <see cref="T:Mindscape.LightSpeed.Entity"/> that  matches the
            provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.FindBySql``1(System.Data.IDbCommand)">
            <summary>
            Returns a strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            represent the records returned by the specified database command.
            </summary>
            <param name="command">The command.</param>
            <returns>A strongly typed list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            represent the records returned by the command.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Find``1(Mindscape.LightSpeed.Querying.ProcedureQuery)">
            <summary>
            Finds entities of a given type using a query to a database stored procedure.
            </summary>
            <typeparam name="TEntity">The entity type.</typeparam>
            <param name="query">The database stored procedure query.</param>
            <returns>A collection of entities of a given type.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Find(Mindscape.LightSpeed.Querying.Query,System.Collections.IList)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification. Places the
            results into the provided collection.
            </summary>
            <param name="query">The query.</param>
            <param name="results">The collection where the results are placed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.FindGroup(Mindscape.LightSpeed.Querying.Query,Mindscape.LightSpeed.EntityTuple)">
            <summary>
            Returns a set of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that match the provided query specification and places the results
            in the provided <see cref="T:Mindscape.LightSpeed.EntityTuple"/> and is grouped by entity type
            </summary>
            <param name="query">The query.</param>
            <param name="results">The results of the grouping.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Find(Mindscape.LightSpeed.Querying.ProcedureQuery,System.Collections.IList)">
            <summary>
            Returns a list of <see cref="T:Mindscape.LightSpeed.Entity"/> objects that
            match the provided <see cref="T:Mindscape.LightSpeed.Querying.ProcedureQuery"/> specification. Places the
            results into the provided collection.
            </summary>
            <param name="query">The query.</param>
            <param name="results">The collection where the results are placed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Project(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Returns an <see cref="T:System.Data.IDataReader"/> containing the results of the specified
            projection query. A projection query returns only a subset of fields of an entity.
            At lease one field name must have been added to the <see cref="P:Mindscape.LightSpeed.Querying.Query.Projection"/>
            collection.
            </summary>
            <param name="query">The query.</param>
            <returns>An <see cref="T:System.Data.IDataReader"/> containing the results of the specified
            projection query.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Project(Mindscape.LightSpeed.Querying.Query,System.Type)">
            <summary>
            Returns the list of objects specified in the last call to SetExpectedProjectionResul.
            </summary>
            <param name="query">A <see cref="T:Mindscape.LightSpeed.Querying.Query"/> specification.  The query specification is ignored
            in the <see cref="T:Mindscape.LightSpeed.Testing.TestUnitOfWork"/>.</param>
            <param name="projectedType">The <see cref="T:System.Type"/> to project into.  This is ignored in the
            <see cref="T:Mindscape.LightSpeed.Testing.TestUnitOfWork"/>.</param>
            <returns>The list of objects specified in the last call to SetExpectedProjectionResult.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Search(Mindscape.LightSpeed.Querying.Query,System.Type[])">
            <summary>
            Peforms a full text search across multiple entity types.
            </summary>
            <param name="query">The query.</param>
            <param name="types">The types to be queried.</param>
            <returns>A collection of <see cref="T:Mindscape.LightSpeed.Search.SearchResult"/> objects.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.SaveChanges(System.Boolean)">
            <summary>
            Flushes pending changes to the database.
            </summary>
            <param name="reset">if set to <c>true</c> then the internal
            state of the <see cref="T:Mindscape.LightSpeed.UnitOfWork"/> is reset.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.BeginTransaction(System.Data.IsolationLevel)">
            <summary>
            Begins a transaction.
            </summary>
            <param name="isolationLevel">The <see cref="T:System.Data.IsolationLevel"/> of the transaction</param>
            <returns>An <see cref="T:System.Data.IDbTransaction"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Add(Mindscape.LightSpeed.Entity)">
            <summary>
            Registers the specified entity as a pending insert.
            </summary>
            <param name="entity">The entity.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Remove(Mindscape.LightSpeed.Entity)">
            <summary>
            Registers the specified entity as a pending delete.
            </summary>
            <param name="entity">The entity.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Remove(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Deletes entities by executing SQL directly against the database. NB. No entities are
            materialized and therefore no callbacks run, entities are not removed from the second-level
            cache or full-text search index etc.
            </summary>
            <param name="query">A query used to determine which entities to delete.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Update(Mindscape.LightSpeed.Querying.Query,System.Object)">
            <summary>
            Updates entities by executing SQL directly against the database. NB. No entities are
            materialized and therefore no callbacks run, cached entities are not updated in the second-level
            cache or full-text search index etc.
            </summary>
            <param name="query">A query used to determine the entities to update.</param>
            <param name="attributes">The attributes to be updated. This argument can either be an
            <see cref="T:System.Collections.Generic.IDictionary`2"/>, or, an object whose properties correspond to the
            target attributes (useful when using an anonymous type).</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.PrepareCommand(System.Data.IDbCommand)">
            <summary>
            Prepares a <see cref="T:System.Data.IDbCommand"/> to run against the underlying database.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to prepare.</param>
            <returns>The supplied <see cref="T:System.Data.IDbCommand"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Attach(Mindscape.LightSpeed.Entity)">
            <summary>
            Attaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> to the current unit of work.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to attach.</param>
            <remarks>If the entity is already attached to this unit of work, re-attaching it
            has no effect.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Attach(Mindscape.LightSpeed.Entity,Mindscape.LightSpeed.AttachMode)">
            <summary>
            Attaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> to the current unit of work using the requested
            mode for attachment
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to attach.</param>
            <param name="mode">The <see cref="T:Mindscape.LightSpeed.AttachMode"/> to use when attaching this entity to the UnitOfWork</param>
            <returns>An instance of the entity which has been attached to the current UnitOfWork, 
            see the details for the <see cref="T:Mindscape.LightSpeed.AttachMode"/> being used to determine specific behavior 
            of the call</returns>
            <remarks>If the entity is already attached to this unit of work, re-attaching it
            has no effect.</remarks>
            <example>
            <code>
            Country country = RemoteService.GetCountryFromSessionState("Ruritania");
            unitOfWork.Attach(country, AttachMode.Import);
            </code>
            </example>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Detach(Mindscape.LightSpeed.Entity)">
            <summary>
            Detaches the specified <see cref="T:Mindscape.LightSpeed.Entity"/> from the current unit of work.
            </summary>
            <param name="entity">The <see cref="T:Mindscape.LightSpeed.Entity"/> to detach.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> and optionally 
            releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false 
            to release only unmanaged resources.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.TestUnitOfWork.Import``1(System.Object)">
            <summary>
            Imports the specified source object to the current unit of work which will
            map its properties against the currently loaded version of an associated
            entity, the type of which shall be TEntity.
            </summary>
            <typeparam name="TEntity">The type of the entity to which the source object will be mapped against</typeparam>
            <param name="source">The source object containing data to be imported</param>
            <returns>
            An instance of a TEntity which has been loaded from the database/identity map if appropriate and had
            its properties mapped from the source object
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Testing.TestUnitOfWork.SupportsCompiledQueries">
            <summary>
            Indicates if the UnitOfWork can support generating compiled queries
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.AutoTimestampMode">
            <summary>
            Specifies how to generate times for automatic timestamp properties
            such as CreatedOn (track create time), UpdatedOn (track update time)
            and DeletedOn (soft delete).
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.AutoTimestampMode.Local">
            <summary>
            Record times in client local time.  This is the default.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.AutoTimestampMode.Utc">
            <summary>
            Record times in UTC (using the client clock).
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.AutoTimestampMode.Custom">
            <summary>
            Record times using a custom strategy.  You must set the
            <see cref="P:Mindscape.LightSpeed.LightSpeedContext.CustomAutoTimestampStrategy"/>.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Timestamps.IAutoTimestampStrategy">
            <summary>
            Defines a strategy for generating times for automatic timestamp properties
            such as CreatedOn (track create time), UpdatedOn (track update time)
            and DeletedOn (soft delete).
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Timestamps.IAutoTimestampStrategy.GetTime">
            <summary>
            Called by LightSpeed to get the time to be used in an automatic timestamp.
            </summary>
            <returns>The time to be used in an automatic timestamp.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Timestamps.IAutoTimestampStrategy.Mode">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.AutoTimestampMode"/>.  Custom implementations should
            return <see cref="F:Mindscape.LightSpeed.AutoTimestampMode.Custom"/>.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Timestamps.IAutoTimestampExpressionStrategy">
            <summary>
            Defines a strategy for generating times for automatic timestamp properties
            where the persistent timestamp can be evaluated on the database.
            </summary>
            <remarks>The result of the database-side timestamping will not be loaded back into
            the LightSpeed entity.  The LightSpeed entity will be stamped with the result of
            the GetTime() method.  Therefore, you should not assume that the LightSpeed entity
            field is precisely in sync with the database after saving an entity when an
            expression strategy is active.  If you need to know the timestamp that was applied in
            the database, you must reload the entity.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Timestamps.IAutoTimestampExpressionStrategy.GetTimeExpression(System.Type,Mindscape.LightSpeed.Timestamps.TimestampUsage,Mindscape.LightSpeed.LightSpeedContext)">
            <summary>
            Gets the database timestamp expression to be used in an automatic timestamp.
            At present, this must be a string containing the SQL text of the expression
            e.g. "GETDATE()" or "GETUTCDATE()".
            </summary>
            <param name="type">The entity type being timestamped.</param>
            <param name="usage">The field for which the timestamp is required.</param>
            <param name="context">The LightSpeedContext containing database type information etc.</param>
            <returns>A string containing the timestamp SQL, or null to use the client-side timestamp.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Timestamps.TimestampUsage">
            <summary>
            Specifies the usage for which LightSpeed is requesting a timestamp expression.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Timestamps.TimestampUsage.CreatedOn">
            <summary>
            The timestamp expression is to be applied to the CreatedOn field.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Timestamps.TimestampUsage.UpdatedOn">
            <summary>
            The timestamp expression is to be applied to the UpdatedOn field.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Timestamps.TimestampUsage.DeletedOn">
            <summary>
            The timestamp expression is to be applied to the DeletedOn (soft delete) field.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Testing.EntityFactory">
            <summary>
            Enables the provisioning of entities using custom identity and state. To be used for testing purposes
            only as LightSpeed is designed to manage these properties internally. Using these methods in production
            is unsupported. 
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.EntityFactory.Create``1(Mindscape.LightSpeed.EntityState)">
            <summary>
            Create a new entity with a specified entity state for testing purposes
            </summary>
            <remarks>This method should only be used for testing purposes. LightSpeed manages entity state internally.</remarks>
            <typeparam name="TEntity">The type of entity to be created.</typeparam>
            <param name="entityState">The entity state of the entity to be created.</param>
            <returns>A test entity with the state specified</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.EntityFactory.UpdateEntityState``1(``0,Mindscape.LightSpeed.EntityState)">
            <summary>
            Changes the EntityState property of an entity for testing purposes
            </summary>
            <remarks>This method should only be used for testing purposes. LightSpeed manages entity state internally.</remarks>
            <param name="entity">The entity to change the state of</param>
            <param name="entityState">The entity state to be applied</param>
            <returns>The entity with the changed entity state</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Testing.EntityFactory.Create``1(Mindscape.LightSpeed.EntityState,System.Object)">
            <summary>
            Create a new entity with a specified entity state for testing purposes
            </summary>
            <remarks>This method should only be used for testing purposes. LightSpeed manages entity state internally.</remarks>
            <typeparam name="TEntity">The type of entity to be created.</typeparam>
            <param name="entityState">The entity state of the entity to be created.</param>
            <param name="id">The identity of the entity to be created</param>
            <returns>A test entity with the state specified</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.CachedAttribute">
            <summary>
            Signals that an entity should be cached.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.CachedAttribute.ExpiryMinutes">
            <summary>
            Gets or sets the expiry in minutes.
            </summary>
            <value>The expiry in minutes.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.CachedAttribute.CacheFindAllResult">
            <summary>
            Gets or sets whether the set of results from a 'find all' may be cached.
            This should be used for reference data only.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ColumnAttribute">
            <summary>
            Signals that an a field should use a custom column mapping. See also
            <see cref="T:Mindscape.LightSpeed.INamingStrategy"/> for performing database wide naming schemes.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.ColumnAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.ColumnAttribute"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.ColumnAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.ColumnAttribute"/> class.
            </summary>
            <param name="name">The target column name.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.ColumnAttribute.Name">
            <summary>
            Gets the target column name.
            </summary>
            <value>The target column name.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.ColumnAttribute.ConverterType">
            <summary>
            Gets or sets a type used for converting between the database and CLR representations
            of the field.  The type must implement <see cref="T:Mindscape.LightSpeed.IFieldConverter"/>.
            </summary>
            <remarks>A convenient way to implement IFieldConverter is to derive from
            <see cref="T:Mindscape.LightSpeed.FieldConverters.FieldConverter`2"/>.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.OrderByAttribute">
             <summary>
             Determines the default ORDER BY clause applied when querying. This attribute
             can be applied to either an <see cref="T:Mindscape.LightSpeed.Entity`1"/> class or an
             <see cref="T:Mindscape.LightSpeed.EntityCollection`1"/> one-to-many association field.
            
             When defined at the class level the specified ordering becomes the default
             ordering used when retrieving the associated class.
             
             When defined at the association level the specified ordering is applied only
             when loading that particular association.
             </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.OrderByAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.OrderByAttribute"/> class.
            </summary>
            <param name="orderBy">The ORDER BY clause. E.g. "Name, DateOfBirth DESC"</param>
        </member>
        <member name="P:Mindscape.LightSpeed.OrderByAttribute.OrderBy">
            <summary>
            Gets the ORDER BY clause.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ReverseAssociationAttribute">
            <summary>
            When more than one association of the same type exists on a model use
            this attribute to specify the name of the reverse association field on the target
            type. The attribute only needs to be applied to one end of the association (either one)
            not both. 
            
            N.B. This is only required when there is more than one association between
            two models. i.e. One table has more than one foreign key to another table.
            
            <example>
            <code>
            // type Contribution
            
            private readonly EntityHolder&lt;Member&gt; _approvedBy = new EntityHolder&lt;Member&gt;();
            private readonly EntityHolder&lt;Member&gt; _contributor = new EntityHolder&lt;Member&gt;();
            
            // type Member
            
            [ReverseAssociation("Contributor")]
            private readonly EntityCollection&lt;Contribution&gt; _contributions
              = new EntityCollection&lt;Contribution&gt;();
            
            [ReverseAssociation("ApprovedBy")]
            private readonly EntityCollection&lt;Contribution&gt; _approvedContributions
              = new EntityCollection&lt;Contribution&gt;();
            </code>
            </example>
            
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.ReverseAssociationAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.ReverseAssociationAttribute"/> class.
            </summary>
            <param name="fieldName">The field corresponding to the reverse association.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.ReverseAssociationAttribute.FieldName">
            <summary>
            The name of the field representing the reverse association.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.DependentAttribute">
            <summary>
            Notifies the framework that a one-to-many association should be considered dependent.
            This determines, among other things, delete cascade behaviour. When a one-to-many
            association is dependent, child rows are cascade deleted along with the parent entity.
            DependentAttribute should be applied to the foreign key field (not the association field).
            
            NB. This is normally inferred based on the nullability of the corresponding foreign key
            field.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.DependentAttribute.ValidatePresence">
            <summary>
            Whether or not the associated entity is required to be present.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.TableAttribute">
            <summary>
            Signals that a class should use a custom table mapping. See also
            <see cref="T:Mindscape.LightSpeed.INamingStrategy"/> for performing database wide naming schemes.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.TableAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.TableAttribute"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.TableAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.TableAttribute"/> class.
            </summary>
            <param name="name">The target table name.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.TableAttribute.Name">
            <summary>
            Gets the target table name.
            </summary>
            <value>The target table name.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.TableAttribute.IdColumnName">
            <summary>
            Gets or sets the name of the Id column in the underlying table.
            </summary>
            <value>The name of the Id column.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.TableAttribute.Schema">
            <summary>
            Gets or sets the schema name for this table.
            </summary>
            <value>The schema name for this table.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.TableAttribute.CascadeDeletes">
            <summary>
            Gets or sets a value indicating whether delete operations cascade by default.
            </summary>
            <value><c>true</c> if deletes cascade by default; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.TableAttribute.IdentityMethod">
            <summary>
            Gets or sets the <see cref="P:Mindscape.LightSpeed.TableAttribute.IdentityMethod"/> used to generate
            identity values for new instances of the target type. If nothing
            is specified, then the default <see cref="P:Mindscape.LightSpeed.TableAttribute.IdentityMethod"/> defined
            on the current <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> is used.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.TableAttribute.IdentityBlockSize">
            <summary>
            Gets or sets the number of identities allocated when using an <see cref="P:Mindscape.LightSpeed.TableAttribute.IdentityMethod"/>
            that allocates blocks of identity numbers. Currently KeyTable, Sequence and MultiSequence. The default is
            the IdentityBlockSize of the <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/>.
            </summary>
            <remarks>For Sequence and MultiSequence methods, this must be the same as the sequence
            INCREMENT BY setting in the database.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.ValueObjectAttribute">
            <summary>
            Marks a field as Value Object. A value object is immutable, has no identity
            and is mapped as part of its owning <see cref="T:Mindscape.LightSpeed.Entity"/> . Example Value Objects
            are Money or Address.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.EagerLoadAttribute">
            <summary>
            Notifies the framework that a field should be eager loaded. If this attribute is
            applied to a value object field, then <see cref="P:Mindscape.LightSpeed.EagerLoadAttribute.AggregateName"/> should be specified
            and the field becomes lazy by default.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.EagerLoadAttribute.AggregateName">
            <summary>
            Used to control whether an association should be eager loaded.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.DiscriminatorAttribute">
            <summary>
            Facilitates Single Table Inheritance. Use the <see cref="P:Mindscape.LightSpeed.DiscriminatorAttribute.Attribute"/> property
            to indicate the database column used to discriminate between types in an
            inheritance hierachy. The database column used as a discriminator is not required
            to exist in the domain model.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.DiscriminatorAttribute.Attribute">
            <summary>
            Either the attribute name or the database column name used to discriminate between types in an
            inheritance hierachy. The database column used as a discriminator is not required
            to exist in the domain model.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.DiscriminatorAttribute.Value">
            <summary>
            The value of <see cref="P:Mindscape.LightSpeed.DiscriminatorAttribute.Attribute"/> that when matched causes instances of the type
            associated with this <see cref="T:Mindscape.LightSpeed.DiscriminatorAttribute"/> to be created.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.TransientAttribute">
            <summary>
            Notifies the framework that a field should not be considered by the framework.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Caching.CacheBroker">
            <summary>
            Brokers access to the second-level <see cref="T:Mindscape.LightSpeed.Caching.ICache"/> implementation.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Caching.CacheBroker.DefaultExpiry">
            <summary>
            The default expiry of a cached item.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.#ctor(Mindscape.LightSpeed.Caching.ICache)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Caching.CacheBroker"/> class.
            </summary>
            <param name="cache">The second-level <see cref="T:Mindscape.LightSpeed.Caching.ICache"/> implementation.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Add(Mindscape.LightSpeed.Entity)">
            <summary>
            Adds an entity to the cache, only if it does not already exist.
            </summary>
            <param name="entity">The entity.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Add(Mindscape.LightSpeed.Entity,System.TimeSpan)">
            <summary>
            Add an entity to the cache, only if it does not already exist.
            </summary>
            <param name="entity">The entity.</param>
            <param name="expiry">The interval after which the entity expires and
            is removed from the cache.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Set(Mindscape.LightSpeed.Entity)">
            <summary>
            Sets an entity into the cache overwriting any existing entity with the same key.
            </summary>
            <param name="entity">The entity.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Set(Mindscape.LightSpeed.Entity,System.TimeSpan)">
            <summary>
            Sets an entity into the cache overwriting any existing entity with the same key.
            </summary>
            <param name="entity">The entity.</param>
            <param name="expiry">The interval after which the entity expires and
            is removed from the cache.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Get``1(System.Object)">
            <summary>
            Gets the specified entity from the cache.
            </summary>
            <param name="id">The id.</param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/> or null.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Get(System.Type,System.Object)">
            <summary>
            Gets the specified entity from the cache.
            </summary>
            <param name="entityType">The type of the cached entity.</param>
            <param name="id">The id.</param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Entity"/> or null.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Remove(Mindscape.LightSpeed.Entity)">
            <summary>
            Removes the specified entity from the cache.
            </summary>
            <param name="entity">The entity to be removed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Remove(System.Type,System.Object)">
            <summary>
            Removes the specified entity from the cache.
            </summary>
            <param name="entityType">The type of the entity being removed.</param>
            <param name="id">The id of the entity to be removed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Update(Mindscape.LightSpeed.Entity)">
            <summary>
            Updates the specified entity in the cache.
            </summary>
            <param name="entity">The entity to update.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.CacheBroker.Contains(System.Type,System.Object)">
            <summary>
            Determines whether an item with the supplied is in the cache.
            </summary>
            <param name="entityType">The type of the cached entity.</param>
            <param name="id">The id of the item.</param>
            <returns>
            	<c>true</c> if the item is in the cache; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Caching.MemcachedCache">
            <summary>
            A highly scalable, distributed second-level cache <see cref="T:Mindscape.LightSpeed.Caching.ICache"/> 
            implementation using memcached.
            
            Configuration of the memcached client should be performed using the underlying
            memcached client objects. Theses objects are exposed as properties of this class:
            <see cref="P:Mindscape.LightSpeed.Caching.MemcachedCache.MemcachedClient"/> and <see cref="P:Mindscape.LightSpeed.Caching.MemcachedCache.SockIOPool"/>. For example to set the
            list of memcached servers:
            <code>
            string[] servers = {"1.1.1.0:11211", "1.1.1.1:11211"};
            
            memcachedCache.SockIOPool.SetServers(servers);
            memcachedCache.SockIOPool.Initialize();
            </code>
            NB: As shown above, it is required to call the <see cref="M:Memcached.ClientLibrary.SockIOPool.Initialize"/>
            method after configuration is complete.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Caching.ICache">
            <summary>
            Contract for a second-level cache implementation.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.ICache.GetItem(System.String)">
            <summary>
            Gets an item from the cache.
            </summary>
            <param name="key">The key of the item.</param>
            <returns>The item, if present, otherwise null.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.ICache.AddItem(System.String,System.Object,System.TimeSpan)">
            <summary>
            Adds an item into the cache.
            </summary>
            <param name="key">The key of the item being added.</param>
            <param name="item">The item being added.</param>
            <param name="expiry">The interval after which the item expires and
            is removed from the cache.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.ICache.SetItem(System.String,System.Object,System.TimeSpan)">
            <summary>
            Sets an item into the cache overwriting any existing item with the same key.
            </summary>
            <param name="key">The key of the item to be stored.</param>
            <param name="item">The item to be stored.</param>
            <param name="expiry">The interval after which the item expires and
            is removed from the cache.</param> 
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.ICache.RemoveItem(System.String)">
            <summary>
            Removes the specified item from the cache.
            </summary>
            <param name="key">The key of the item to be removed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.MemcachedCache.GetItem(System.String)">
            <summary>
            Gets an item from the cache.
            </summary>
            <param name="key">The key of the item to get.</param>
            <returns>The item or null if no item with the supplied key
            was present in the cache.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.MemcachedCache.AddItem(System.String,System.Object,System.TimeSpan)">
            <summary>
            Adds an item into the cache.
            </summary>
            <param name="key">The key of the item being added.</param>
            <param name="item">The item being added.</param>
            <param name="expiry">The interval after which the item expires and
            is removed from the cache.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.MemcachedCache.SetItem(System.String,System.Object,System.TimeSpan)">
            <summary>
            Sets an item into the cache overwriting any existing item with the same key.
            </summary>
            <param name="key">The key of the item to be stored.</param>
            <param name="item">The item to be stored.</param>
            <param name="expiry">The interval after which the item expires and
            is removed from the cache.</param> 
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.MemcachedCache.RemoveItem(System.String)">
            <summary>
            Removes the specified item from the cache.
            </summary>
            <param name="key">The key of the item to be removed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.MemcachedCache.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing,
            releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.MemcachedCache.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:Mindscape.LightSpeed.Caching.MemcachedCache"/> is reclaimed by garbage collection.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Caching.MemcachedCache.MemcachedClient">
            <summary>
            Gets the underlying <see cref="P:Mindscape.LightSpeed.Caching.MemcachedCache.MemcachedClient"/> 
            </summary>
            <value>The <see cref="P:Mindscape.LightSpeed.Caching.MemcachedCache.MemcachedClient"/>.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Caching.MemcachedCache.SockIOPool">
            <summary>
            Gets the underlying memcached <see cref="P:Mindscape.LightSpeed.Caching.MemcachedCache.SockIOPool"/> instance. 
            </summary>
            <value>The <see cref="P:Mindscape.LightSpeed.Caching.MemcachedCache.SockIOPool"/> instance.</value>
        </member>
        <member name="T:Mindscape.LightSpeed.Caching.DefaultCache">
            <summary>
            The default LightSpeed second-level cache <see cref="T:Mindscape.LightSpeed.Caching.ICache"/> 
            implementation. Utilizes the .NET platform <see cref="T:System.Web.Caching.Cache"/>
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.DefaultCache.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Caching.DefaultCache"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.DefaultCache.GetItem(System.String)">
            <summary>
            Gets an item from the cache.
            </summary>
            <param name="key">The key of the item to get.</param>
            <returns>The item or null if no item with the supplied key
            was present in the cache.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.DefaultCache.AddItem(System.String,System.Object,System.TimeSpan)">
            <summary>
            Adds an item into the cache.
            </summary>
            <param name="key">The key of the item being added.</param>
            <param name="item">The item being added.</param>
            <param name="expiry">The interval after which the item expires and
            is removed from the cache.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.DefaultCache.SetItem(System.String,System.Object,System.TimeSpan)">
            <summary>
            Sets an item into the cache overwriting any existing item with the same key.
            </summary>
            <param name="key">The key of the item to be stored.</param>
            <param name="item">The item to be stored.</param>
            <param name="expiry">The interval after which the item expires and
            is removed from the cache.</param> 
        </member>
        <member name="M:Mindscape.LightSpeed.Caching.DefaultCache.RemoveItem(System.String)">
            <summary>
            Removes the specified item from the cache.
            </summary>
            <param name="key">The key of the item to be removed.</param>
        </member>
        <member name="T:Mindscape.LightSpeed.Configuration.LightSpeedConfigurationSection">
            <summary>
            A LightSpeed <see cref="T:System.Configuration.ConfigurationSection"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Configuration.LightSpeedConfigurationSection.Read">
            <summary>
            Reads the configuration section.
            </summary>
            <returns>A <see cref="T:Mindscape.LightSpeed.Configuration.LightSpeedConfigurationSection"/>.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.LightSpeedConfigurationSection.Default">
            <summary>
            The name of the default <see cref="T:Mindscape.LightSpeed.Configuration.ContextSettings"/> configuration block.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.LightSpeedConfigurationSection.DefaultContext">
            <summary>
            The default <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> instance.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.LightSpeedConfigurationSection.UseMediumTrustCompatibility">
            <summary>
            Gets whether to use medium trust compatibility.  This is a process-wide setting.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Configuration.LightSpeedConfigurationSection.Contexts">
            <summary>
            A collection <see cref="T:Mindscape.LightSpeed.Configuration.ContextSettings"/>.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.DefaultNamingStrategy">
            <summary>
            The default database naming strategy.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.INamingStrategy">
            <summary>
            Defines a strategy for resolving database names.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetTableName(System.String,System.String)">
            <summary>
            Gets a table name.
            </summary>
            <param name="defaultName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <returns>A table name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetColumnName(System.String,System.String)">
            <summary>
            Gets a column name.
            </summary>
            <param name="defaultName">The default column name.</param>
            <param name="fieldName">The field name corresponding to the target column.</param>
            <returns>A column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetIdColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of a primary key column. The default is "Id".
            </summary>
            <param name="defaultTableName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <param name="defaultName">The default primary key column name.</param>
            <returns>A primary key column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetLockVersionColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of the lock version column used for Optimistic Concurrency.
            
            The default name is "LockVersion".
            </summary>
            <param name="defaultTableName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <param name="defaultName">The default lock version column name.</param>
            <returns>The lock version column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetSoftDeleteColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of the column used for soft delete. 
            
            The default name is "DeletedOn".
            </summary>
            <param name="defaultTableName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <param name="defaultName">The default lock version column name.</param>
            <returns>The soft delete column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetCreatedOnColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of the column used for a record creation timestamp. 
            
            The default name is "CreatedOn".
            </summary>
            <param name="defaultTableName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <param name="defaultName">The default creation timestamp column name.</param>
            <returns>The creation timestamp column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetUpdatedOnColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of the column used for a record update timestamp. 
            
            The default name is "UpdatedOn".
            </summary>
            <param name="defaultTableName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <param name="defaultName">The default update timestamp column name.</param>
            <returns>The update timestamp column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetSchema(System.String,System.String)">
            <summary>
            Gets the schema name for a given database object.
            </summary>
            <param name="defaultName">The default schema name for this object.</param>
            <param name="objectName">The object name.</param>
            <returns>The schema name for the given object.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetSequenceName(System.String)">
            <summary>
            Returns the name of the database sequence used to generate identifiers when using
            <see cref="F:Mindscape.LightSpeed.IdentityMethod.Sequence"/>
            </summary>
            <param name="defaultName">The default sequence name.</param>
            <returns>The sequence name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.INamingStrategy.GetMultiSequenceName(System.String,System.Type)">
            <summary>
            Returns the name of the database sequence used to generate identifiers when using
            <see cref="F:Mindscape.LightSpeed.IdentityMethod.MultiSequence"/>
            </summary>
            <param name="defaultName">The default sequence name.</param>
            <param name="entityType">The type of entity for which to retrieve the identity sequence name.</param>
            <returns>The sequence name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetTableName(System.String,System.String)">
            <summary>
            Gets the table name.
            </summary>
            <param name="defaultName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <returns>The table name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetColumnName(System.String,System.String)">
            <summary>
            Gets a column name.
            </summary>
            <param name="defaultName">The default column name.</param>
            <param name="fieldName">The field name corresponding to the target column.</param>
            <returns>A column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetIdColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of the id column.
            </summary>
            <param name="defaultTableName">Name of the table.</param>
            <param name="className">Name of the class.</param>
            <param name="defaultName">Name of the default.</param>
            <returns>The id column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetLockVersionColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of the lock version column.
            </summary>
            <param name="defaultTableName">Name of the table.</param>
            <param name="className">Name of the class.</param>
            <param name="defaultName">Name of the default.</param>
            <returns>The lock version column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetSoftDeleteColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of the column used for soft delete. 
            
            The default name is "DeletedOn".
            </summary>
            <param name="defaultTableName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <param name="defaultName">The default lock version column name.</param>
            <returns>The soft delete column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetCreatedOnColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of the column used for a record creation timestamp. 
            
            The default name is "CreatedOn".
            </summary>
            <param name="defaultTableName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <param name="defaultName">The default creation timestamp column name.</param>
            <returns>The creation timestamp column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetUpdatedOnColumnName(System.String,System.String,System.String)">
            <summary>
            Gets the name of the column used for a record update timestamp. 
            
            The default name is "UpdatedOn".
            </summary>
            <param name="defaultTableName">The default table name.</param>
            <param name="className">The class name corresponding to the target table.</param>
            <param name="defaultName">The default update timestamp column name.</param>
            <returns>The update timestamp column name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetSchema(System.String,System.String)">
            <summary>
            Gets the schema name for a given database object.
            </summary>
            <param name="defaultName">The default schema name for this object.</param>
            <param name="objectName">The object name.</param>
            <returns>The schema name for the given object.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetSequenceName(System.String)">
            <summary>
            Returns the name of the database sequence used to generate identifiers when using
            <see cref="F:Mindscape.LightSpeed.IdentityMethod.Sequence"/>
            </summary>
            <param name="defaultName">The default sequence name.</param>
            <returns>The sequence name.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.DefaultNamingStrategy.GetMultiSequenceName(System.String,System.Type)">
            <summary>
            Returns the name of the database sequence used to generate identifiers when using
            <see cref="F:Mindscape.LightSpeed.IdentityMethod.MultiSequence"/>
            </summary>
            <param name="defaultName">The default sequence name.</param>
            <param name="entityType">The type of entity for which to retrieve the identity sequence name.</param>
            <returns>The sequence name.</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.EntityStateChangedEventArgs">
            <summary>
            Event data relating to the <see cref="E:Mindscape.LightSpeed.Entity.EntityStateChanged"/> event.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityStateChangedEventArgs.#ctor(Mindscape.LightSpeed.EntityState,Mindscape.LightSpeed.EntityState)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.EntityStateChangedEventArgs"/> class.
            </summary>
            <param name="previousState">The previous <see cref="T:Mindscape.LightSpeed.EntityState"/>.</param>
            <param name="newState">The new <see cref="T:Mindscape.LightSpeed.EntityState"/>.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.EntityStateChangedEventArgs.PreviousState">
            <summary>
            The previous <see cref="T:Mindscape.LightSpeed.EntityState"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.EntityStateChangedEventArgs.NewState">
            <summary>
            The new <see cref="P:Mindscape.LightSpeed.EntityStateChangedEventArgs.NewState"/>.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Logging.TraceLogger">
            <summary>
            An <see cref="T:Mindscape.LightSpeed.Logging.ILogger"/> that logs to <see cref="T:System.Diagnostics.Trace"/>
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Logging.ILogger">
            <summary>
            A logger contract
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Logging.ILogger.LogSql(System.Object)">
            <summary>
            Logs generated SQL just before it is executed by LightSpeed.
            </summary>
            <param name="sql">The SQL to log</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Logging.ILogger.LogDebug(System.Object)">
            <summary>
            Logs a debug message.
            </summary>
            <param name="text">The debug message to log.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Logging.TraceLogger.LogSql(System.Object)">
            <summary>
            Logs generated SQL just before it is executed by LightSpeed.
            </summary>
            <param name="sql">The SQL to log.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Logging.TraceLogger.LogDebug(System.Object)">
            <summary>
            Logs a debug message.
            </summary>
            <param name="text">The debug message to log.</param>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.IAttributePathExpression">
            <summary>
            Represents a <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> that contains a path to
            an entity attribute.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IAttributePathExpression.EqualExceptForAlias(Mindscape.LightSpeed.Querying.IAttributePathExpression)">
            <summary>
            Performs an equality test between this instance and another instance comparing all fields except for
            the alias field
            </summary>
            <param name="other">The other instance to be compared to</param>
            <returns>True if the two instances are equal otherwise False</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IAttributePathExpression.Clone">
            <summary>
            Clones the <see cref="T:Mindscape.LightSpeed.Querying.IAttributePathExpression"/>.
            </summary>
            <returns>A clone of the expression.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.IAttributePathExpression.EntityType">
            <summary>
            The type of the entity being operated on.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.IAttributePathExpression.EntityTypeAlias">
            <summary>
            The alias of the entity type to be applied when translating this expression.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.IAttributePathExpression.AttributePath">
            <summary>
            The dotted path to the attribute.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.IAttributePathExpression.Functions">
            <summary>
            Gets any functions applied to the expression.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.IAttributePathExpression.HasFunctions">
            <summary>
            Gets whether any functions are applied to the expression.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.NegatedExpression">
            <summary>
            Represents a negated expression.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.NegatedExpression.#ctor(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.NegatedExpression"/> class.
            </summary>
            <param name="queryExpression">The query expression to be negated.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.NegatedExpression.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see> is equal
            to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to compare with
            the current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is equal to the
            current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.NegatedExpression.GetHashCode">
            <summary>
            Serves as a hash function for a particular type.
            <see cref="M:System.Object.GetHashCode"></see>
            is suitable for use in hashing algorithms and data
            structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.NegatedExpression.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the
            current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the
            current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.NegatedExpression.QueryExpression">
            <summary>
            Gets the query expression that this expression is negating.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.ThroughAssociation`2">
            <summary>
            An EntityCollection{TEntity} decorator that provides convenient access to entities that
            are normally accessed through an intermediary association. The primary use of this class
            is to provide a more object-oriented view of many-to-many relationships.
            </summary>
            <typeparam name="TThrough">The type of the intermediate <see cref="T:Mindscape.LightSpeed.Entity"/></typeparam>
            <typeparam name="TTarget">The type of the target <see cref="T:Mindscape.LightSpeed.Entity"/></typeparam>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.#ctor(Mindscape.LightSpeed.EntityCollection{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.ThroughAssociation`2"/> class.
            </summary>
            <param name="entityCollection">The entity collection.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.Add(`1)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            <param name="item">The object to add to the
            <see cref="T:System.Collections.Generic.ICollection`1"></see>.</param>
            <exception cref="T:System.NotSupportedException">The
            <see cref="T:System.Collections.Generic.ICollection`1"></see> is read-only.</exception>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            <exception cref="T:System.NotSupportedException">The
            <see cref="T:System.Collections.Generic.ICollection`1"></see>
            is read-only. </exception>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.Contains(`1)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"></see>
            contains a specific value.
            </summary>
            <returns>
            true if item is found in the <see cref="T:System.Collections.Generic.ICollection`1"></see>;
            otherwise, false.
            </returns>
            <param name="item">The object to locate in the
            <see cref="T:System.Collections.Generic.ICollection`1"></see>.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.CopyTo(`1[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"></see>
            to an <see cref="T:System.Array"></see>, starting at a particular <see cref="T:System.Array"></see> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"></see> that is
            the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            The <see cref="T:System.Array"></see> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">arrayIndex is less than 0.</exception>
            <exception cref="T:System.ArgumentNullException">array is null.</exception>
            <exception cref="T:System.ArgumentException">array is multidimensional.-or-arrayIndex
            is equal to or greater than the length of array.-or-The number of elements in the source
            <see cref="T:System.Collections.Generic.ICollection`1"></see> is greater than the available
            space from arrayIndex to the end of the destination array.-or-Type T cannot be cast automatically
            to the type of the destination array.</exception>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.Remove(`1)">
            <summary>
            Removes the first occurrence of a specific object from the
            <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            <returns>
            true if item was successfully removed from the
            <see cref="T:System.Collections.Generic.ICollection`1"></see>;
            otherwise, false. This method also returns false if item is not
            found in the original <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </returns>
            <param name="item">The object to remove from the
            <see cref="T:System.Collections.Generic.ICollection`1"></see>.</param>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1"></see>
            is read-only.</exception>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.IndexOf(`1)">
            <summary>
            Determines the index of a specific item in the
            <see cref="T:System.Collections.Generic.IList`1"></see>.
            </summary>
            <returns>
            The index of item if found in the list; otherwise, -1.
            </returns>
            <param name="item">The object to locate in the 
            <see cref="T:System.Collections.Generic.IList`1"></see>.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.Insert(System.Int32,`1)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1"></see>
            at the specified index.
            </summary>
            <param name="item">The object to insert into the
            <see cref="T:System.Collections.Generic.IList`1"></see>.</param>
            <param name="index">The zero-based index at which item should be inserted.</param>
            <exception cref="T:System.NotSupportedException">The
            <see cref="T:System.Collections.Generic.IList`1"></see> is read-only.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">index is not a valid
            index in the <see cref="T:System.Collections.Generic.IList`1"></see>.</exception>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1"></see>
            item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
            <exception cref="T:System.NotSupportedException">The
            <see cref="T:System.Collections.Generic.IList`1"></see> is read-only.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">index is not
            a valid index in the <see cref="T:System.Collections.Generic.IList`1"></see>.</exception>
        </member>
        <member name="M:Mindscape.LightSpeed.ThroughAssociation`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"></see>
            that can be used to iterate through the collection.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:Mindscape.LightSpeed.ThroughAssociation`2.EntityCollection">
            <summary>
            Returns the collection of entities on which this through association is operating
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.ThroughAssociation`2.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            <returns>
            The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.ThroughAssociation`2.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"></see>
            is read-only.
            </summary>
            <returns>
            true if the <see cref="T:System.Collections.Generic.ICollection`1"></see>
            is read-only; otherwise, false.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.ThroughAssociation`2.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <returns>
            The element at the specified index.
            </returns>
            <param name="index">The zero-based index of the element to
            get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is not
            a valid index in the <see cref="T:System.Collections.Generic.IList`1"></see>.</exception>
            <exception cref="T:System.NotSupportedException">The property is set
            and the <see cref="T:System.Collections.Generic.IList`1"></see> is read-only.</exception>
        </member>
        <member name="T:Mindscape.LightSpeed.EntityEventArgs`1">
            <summary>
            Data about an event relating to a single <see cref="P:Mindscape.LightSpeed.EntityEventArgs`1.Entity"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityEventArgs`1.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.EntityEventArgs`1"/>
            class.
            </summary>
            <param name="entity">The entity.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.EntityEventArgs`1.Entity">
            <summary>
            Gets the <see cref="P:Mindscape.LightSpeed.EntityEventArgs`1.Entity"/>.
            </summary>
            <value>The <see cref="P:Mindscape.LightSpeed.EntityEventArgs`1.Entity"/>.</value>
        </member>
        <member name="T:Mindscape.LightSpeed.OptimisticConcurrencyException">
            <summary>
            Represents an optimistic concurrency violation which occurs when
            an update or delete fails due to stale data.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.OptimisticConcurrencyException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.OptimisticConcurrencyException"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.OptimisticConcurrencyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.OptimisticConcurrencyException"/> class.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> that
            holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> that
            contains contextual information about the source or destination.</param>
            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null
            or <see cref="P:System.Exception.HResult"></see> is zero (0). </exception>
            <exception cref="T:System.ArgumentNullException">The info parameter is null. </exception>
        </member>
        <member name="M:Mindscape.LightSpeed.OptimisticConcurrencyException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.OptimisticConcurrencyException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.OptimisticConcurrencyException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.OptimisticConcurrencyException"/> class.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.IdentifierExpression">
            <summary>
            Represents an identifier.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IdentifierExpression.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.IdentifierExpression"/> class.
            </summary>
            <param name="name">The identifier name.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IdentifierExpression.#ctor(System.Type,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.IdentifierExpression"/> class.
            </summary>
            <param name="name">The identifier name.</param>
            <param name="entityType">The type of entity which is associated with this identifier expression</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IdentifierExpression.#ctor(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.IdentifierExpression"/> class.
            </summary>
            <param name="name">The identifier name.</param>
            <param name="entityType">The type of entity which is associated with this identifier expression</param>
            <param name="alias">The alias to be applied to the entity type of this expression</param>
            <param name="functions">A collection of functions to apply.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IdentifierExpression.#ctor(System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.IdentifierExpression"/> class.
            </summary>
            <param name="name">The identifier name.</param>
            <param name="functions">A collection of functions to apply.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IdentifierExpression.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see> 
            is equal to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to compare
            with the current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is 
            equal to the current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IdentifierExpression.EqualExceptForAlias(Mindscape.LightSpeed.Querying.IAttributePathExpression)">
            <summary>
            Performs an equality test between this instance and another instance comparing all fields except for
            the alias field
            </summary>
            <param name="other">The other instance to be compared to</param>
            <returns>True if the two instances are equal otherwise False</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IdentifierExpression.GetHashCode">
            <summary>
            Serves as a hash function for a particular type. <see cref="M:System.Object.GetHashCode"></see>
            is suitable for use in hashing algorithms and data structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.IdentifierExpression.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents 
            the current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the 
            current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.IdentifierExpression.EntityTypeAlias">
            <summary>
            The alias to be applied to the entity type of this expression
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.IdentifierExpression.EntityType">
            <summary>
            The type of entity which this identifier expression is associated with
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.LiftedPathExpression">
            <summary>
            Represents a <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> that has been normalized.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LiftedPathExpression.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see> is
            equal to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to compare with
            the current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is equal to the
            current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LiftedPathExpression.GetHashCode">
            <summary>
            Serves as a hash function for a particular type. <see cref="M:System.Object.GetHashCode"></see> is
            suitable for use in hashing algorithms and data structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LiftedPathExpression.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the
            current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the current
            <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.LiteralExpression">
            <summary>
            Represents a literal value.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LiteralExpression.#ctor(System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.LiteralExpression"/> class.
            </summary>
            <param name="value">The literal value.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LiteralExpression.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see> is equal 
            to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to compare with the 
            current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is equal to the 
            current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LiteralExpression.GetHashCode">
            <summary>
            Serves as a hash function for a particular type. <see cref="M:System.Object.GetHashCode"></see> 
            is suitable for use in hashing algorithms and data structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LiteralExpression.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the 
            current <see cref="T:System.Object"></see>value of this literal expression.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the current
            <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.LiteralExpression.Value">
            <summary>
            Gets the value of the <see cref="T:Mindscape.LightSpeed.Querying.LiteralExpression"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.LiteralExpression.EmitInline">
            <summary>
            Suppresses parameterisation of the literal when generating SQL.
            This should never be applied to non-constant literals because
            it creates a SQL injection vulnerability.
            </summary>
            <remarks>This option is provided only
            to support SQL functions that require "magic literals" and do not
            allow these literals to be passed as parameters, such as the
            SQL Server DATEPART function.  If you set EmitInline to true,
            you are responsible for all quoting, escaping, etc. of the literal.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.LogicalExpression">
            <summary>
            Represents a logical expression.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LogicalExpression.Create(Mindscape.LightSpeed.Querying.QueryExpression,Mindscape.LightSpeed.Querying.LogicalOperator,Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Creates a new <see cref="T:Mindscape.LightSpeed.Querying.LogicalExpression"/> with the specified left and right hand sides
            and the specified logical operation.
            </summary>
            <param name="lhs">The left hand side.</param>
            <param name="op">The logical operation.</param>
            <param name="rhs">The right hand side.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.LogicalExpression"/> representing the "and-ing" or "or-ing"
            of the left and right hand sides.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LogicalExpression.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see>
            is equal to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to compare
            with the current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is equal to
            the current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LogicalExpression.GetHashCode">
            <summary>
            Serves as a hash function for a particular type. <see cref="M:System.Object.GetHashCode"></see>
            is suitable for use in hashing algorithms and data structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.LogicalExpression.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents
            the current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the
            current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.LogicalExpression.Lhs">
            <summary>
            Gets the left hand side.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.LogicalExpression.Operator">
            <summary>
            Gets the logical operation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.LogicalExpression.Rhs">
            <summary>
            Gets the right hand side.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.BinaryOperator">
            <summary>
            Base class of binary operators.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.BinaryOperator.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.BinaryOperator"/> class.
            </summary>
            <param name="op">The operator.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.BinaryOperator.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the
            current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the current
            <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.BinaryOperator.Equals(System.Object)">
            <summary>
            Checks if a binary operator equals another based on the operation name
            </summary>
            <param name="obj">The object to be compared to</param>
            <returns>true if this is a matching binary operator, otherwise false</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.BinaryOperator.GetHashCode">
            <summary>
            Returns the hash code for this binary operator
            </summary>
            <returns>The hash code for this binary operator</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.BinaryOperator.op_Equality(Mindscape.LightSpeed.Querying.BinaryOperator,Mindscape.LightSpeed.Querying.BinaryOperator)">
            <summary>
            Checks if a binary operator equals another based on the operation name
            </summary>
            <param name="a">A binary operator</param>
            <param name="b">A binary operator</param>
            <returns>true if a is a matching binary operator to b, otherwise false</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.BinaryOperator.op_Inequality(Mindscape.LightSpeed.Querying.BinaryOperator,Mindscape.LightSpeed.Querying.BinaryOperator)">
            <summary>
            Checks if a binary operator does not equal another based on the operation name
            </summary>
            <param name="a">A binary operator</param>
            <param name="b">A binary operator</param>
            <returns>true if a is not a matching binary operator to b, otherwise false</returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.LogicalOperator">
            <summary>
            The logical binary operators AND and OR.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.LogicalOperator.And">
            <summary>
            The logical AND operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.LogicalOperator.Or">
            <summary>
            The logical OR operator.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.RelationalOperator">
            <summary>
            The relational binary operators.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.Between">
            <summary>
            The BETWEEN operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.EqualTo">
            <summary>
            The == operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.Exists">
            <summary>
            The EXISTS operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.GreaterThan">
            <summary>
            The &gt; operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.GreaterThanOrEqualTo">
            <summary>
            The &gt;= operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.In">
            <summary>
            The IN operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.LessThan">
            <summary>
            The &lt; operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.LessThanOrEqualTo">
            <summary>
            The &lt;= operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.Like">
            <summary>
            The LIKE operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.RelationalOperator.NotEqualTo">
            <summary>
            The != operator.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.Order">
            <summary>
            Specification of the order in which results of a <see cref="T:Mindscape.LightSpeed.Querying.Query"/>
            should be returned.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Order.Parse(System.String)">
            <summary>
            Creates an <see cref="T:Mindscape.LightSpeed.Querying.Order"/> based on the supplied order by clause.
            </summary>
            <param name="orderBy">The order by clause.</param>
            <returns>A new <see cref="T:Mindscape.LightSpeed.Querying.Order"/> corresponding to the supplied
            <paramref name="orderBy"/> clause.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Order.By(System.String)">
            <summary>
            Creates a new <see cref="T:Mindscape.LightSpeed.Querying.Order"/> specification.
            </summary>
            <param name="attribute">The attribute to sort on.</param>
            <returns>A new <see cref="T:Mindscape.LightSpeed.Querying.Order"/> for the supplied
            <paramref name="attribute"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Order.By(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Creates a new <see cref="T:Mindscape.LightSpeed.Querying.Order"/> specification.
            </summary>
            <param name="expression">The expression to sort on.</param>
            <returns>A new <see cref="T:Mindscape.LightSpeed.Querying.Order"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Order.AndBy(System.String)">
            <summary>
            Add another attribute to the <see cref="T:Mindscape.LightSpeed.Querying.Order"/> specification.
            </summary>
            <param name="attribute">The attribute to sort by.</param>
            <returns>A new <see cref="T:Mindscape.LightSpeed.Querying.Order"/> built by combining the current
            <see cref="T:Mindscape.LightSpeed.Querying.Order"/> and the supplied <paramref name="attribute"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Order.AndBy(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Add another attribute to the <see cref="T:Mindscape.LightSpeed.Querying.Order"/> specification.
            </summary>
            <param name="expression">The expression to sort by.</param>
            <returns>A new <see cref="T:Mindscape.LightSpeed.Querying.Order"/> built by combining the current
            <see cref="T:Mindscape.LightSpeed.Querying.Order"/> and the supplied <paramref name="expression"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Order.Descending">
            <summary>
            Specify descending order.
            </summary>
            <returns>The <see cref="T:Mindscape.LightSpeed.Querying.Order"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Order.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents the
            current <see cref="T:System.Object" />.
            </summary>
            
            <returns>
            A <see cref="T:System.String" /> that represents the current
            <see cref="T:System.Object" />.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Order.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see> is 
            equal to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to compare with 
            the current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is equal to the 
            current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Order.GetHashCode">
            <summary>
            Serves as a hash function for a particular type. <see cref="M:System.Object.GetHashCode"></see>
            is suitable for use in hashing algorithms and data structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.Page">
            <summary>
            Represents a logical page of a result set.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Page.Limit(System.Int32)">
            <summary>
            Creates a new <see cref="T:Mindscape.LightSpeed.Querying.Page"/> specification that limits the number
            of results returned.
            </summary>
            <param name="size">The number of results to return (page size).</param>
            <returns>A new <see cref="T:Mindscape.LightSpeed.Querying.Page"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Page.Offset(System.Int32)">
            <summary>
            Creates a new <see cref="T:Mindscape.LightSpeed.Querying.Page"/> specification that begins after the
            specified skip.
            </summary>
            <param name="skip">The number of results to skip.</param>
            <returns>A new <see cref="T:Mindscape.LightSpeed.Querying.Page"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Page.At(System.Int32,System.Int32)">
            <summary>
            Creates a new <see cref="T:Mindscape.LightSpeed.Querying.Page"/> specification.
            </summary>
            <param name="offset">The number of results to skip.</param>
            <param name="limit">The number of results to return (page size).</param>
            <returns>A new <see cref="T:Mindscape.LightSpeed.Querying.Page"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Page.AdvanceBy(System.Int32)">
            <summary>
            Creates a page specification offset by the specified number of results.  Any
            limit (page size) is preserved in the new <see cref="T:Mindscape.LightSpeed.Querying.Page"/>.
            </summary>
            <param name="offset">The number of results to skip.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Page"/> containing the new specification.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Page.LimitTo(System.Int32)">
            <summary>
            Creates a page specification limited to the specified number of results.
            Any offset is preserved in the new <see cref="T:Mindscape.LightSpeed.Querying.Page"/>.
            </summary>
            <param name="limit">The number of results to return (page size).</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Page"/> containing the new specification.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Page.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see> is equal
            to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to compare with
            the current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is equal to the
            current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Page.GetHashCode">
            <summary>
            Serves as a hash function for a particular type. <see cref="M:System.Object.GetHashCode"></see>
            is suitable for use in hashing algorithms and data structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Page.Next(System.Object,System.Int32)">
            <summary>
            Creates a page specification starting at the specified offset, and limited
            to the specified number of results.
            </summary>
            <param name="offsetCookie">An opaque object returned from the previous query, indicating
            the starting point for this page.</param>
            <param name="limit">The number of results to return (page size).</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.Page"/> containing the new specification.</returns>
            <remarks>This method is supported only on Amazon SimpleDB.  Other providers treat this
            as equivalent to the <see cref="M:Mindscape.LightSpeed.Querying.Page.Limit(System.Int32)"/> method.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Page.OffsetCookie">
            <summary>
            After the <see cref="T:Mindscape.LightSpeed.Querying.Page"/> has been used in a query, gets an opaque object representing the offset
            to the next page.  The only permitted use for this object is to pass it to the <see cref="M:Mindscape.LightSpeed.Querying.Page.Next(System.Object,System.Int32)"/>
            method as part of constructing a new query against the same provider.
            </summary>
            <remarks>This property is supported only on Amazon SimpleDB.  Other providers ignore
            this property.</remarks>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.PathExpression">
            <summary>
            Represents a path.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> class.
            </summary>
            <param name="path">A non empty path to initialise the <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> with.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.#ctor(System.Type,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> class.
            </summary>
            <param name="path">A non empty path to initialise the <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> with.</param>
            <param name="entityType">The type of the entity which this path is based off</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.#ctor(System.Type,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> class.
            </summary>
            <param name="path">A non empty path to initialise the <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> with.</param>
            <param name="alias">The alias of the entity type to be applied when translating this expression.</param>
            <param name="entityType">The type of the entity which this path is based off</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.op_Equality(Mindscape.LightSpeed.Querying.PathExpression,System.Object)">
            <summary>
            The equals (==) operator.
            </summary>
            <param name="pathExpression">The path expression to evaluate as the source.</param>
            <param name="value">The value to evaulate against.</param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> using the equals operator.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.op_Inequality(Mindscape.LightSpeed.Querying.PathExpression,System.Object)">
            <summary>
            The not equal (!=) operator.
            </summary>
            <param name="pathExpression">The path expression to evaulate as the source.</param>
            <param name="value">The value to evaulate against.</param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> using the not equals operator.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.op_GreaterThanOrEqual(Mindscape.LightSpeed.Querying.PathExpression,System.Object)">
            <summary>
            The greater than or equal to (&gt;=) operator.
            </summary>
            <param name="pathExpression">The path expression to evaulate as the source.</param>
            <param name="value">The value to evaulate against.</param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> using the greater than or equal to operator.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.op_LessThanOrEqual(Mindscape.LightSpeed.Querying.PathExpression,System.Object)">
            <summary>
            The less than or equal to (&lt;=) operator.
            </summary>
            <param name="pathExpression">The path expression to evaulate as the source.</param>
            <param name="value">The value to evaulate against.</param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> using the less than or equal to operator.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.op_GreaterThan(Mindscape.LightSpeed.Querying.PathExpression,System.Object)">
            <summary>
            The greater than (&gt;) operator.
            </summary>
            <param name="pathExpression">The path expression to evaulate as the source.</param>
            <param name="value">The value to evaulate against.</param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> using the greater than operator.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.op_LessThan(Mindscape.LightSpeed.Querying.PathExpression,System.Object)">
            <summary>
            The less than (&lt;) operator.
            </summary>
            <param name="pathExpression">The path expression to evaulate as the source.</param>
            <param name="value">The value to evaulate against.</param>
            <returns>An <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> using the less than operator.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.Like(System.String)">
            <summary>
            Creates a <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database LIKE comparison.
            </summary>
            <param name="pattern">The right hand side of the LIKE comparison.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database LIKE comparison.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.Upper">
            <summary>
            Applies the SQL UPPER function to this attribute.
            </summary>
            <returns>An expression representing the UPPER function applied to this attribute.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.Lower">
            <summary>
            Applies the SQL LOWER function to this attribute.
            </summary>
            <returns>An expression representing the LOWER function applied to this attribute.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.Function(System.Int32,System.String,Mindscape.LightSpeed.Querying.QueryExpression[])">
            <summary>
            Sets a SQL function to be applied to this attribute.
            </summary>
            <param name="name">The native SQL name of the function.</param>
            <param name="thisPosition">The index at which this <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> will
            appear in the arguments to the SQL function.</param>
            <param name="arguments">Arguments to be passed to the function.</param>
            <returns>An expression representing the results of applying the function to
            this <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.Function(System.Int32,System.String,System.Object[])">
            <summary>
            Sets a SQL function to be applied to this attribute.
            </summary>
            <param name="name">The native SQL name of the function.</param>
            <param name="thisPosition">The index at which this <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> will
            appear in the arguments to the SQL function.</param>
            <param name="arguments">Arguments to be passed to the function.</param>
            <returns>An expression representing the results of applying the function to
            this <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.Function(System.String,System.Object[])">
            <summary>
            Sets a SQL function to be applied to this attribute.
            </summary>
            <param name="name">The native SQL name of the function.</param>
            <param name="arguments">Arguments to be passed to the function.</param>
            <returns>An expression representing the results of applying the function to
            this <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.Exists">
            <summary>
            Creates a <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database EXISTS operation.
            </summary>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database EXISTS operation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.In(System.Object[])">
            <summary>
            Creates a <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database IN operation.
            </summary>
            <param name="values">The values on the right-hand side of the IN operation.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database IN operation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.In(Mindscape.LightSpeed.Querying.Query)">
            <summary>
            Creates a <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database IN operation.
            </summary>
            <param name="query">The query on the right-hand side of the IN operation.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database IN operation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.Between(System.Object,System.Object)">
            <summary>
            Creates a <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database BETWEEN operation.
            </summary>
            <param name="low">The low value.</param>
            <param name="high">The high value.</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a database BETWEEN operation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.BuildExpression(Mindscape.LightSpeed.Querying.PathExpression,Mindscape.LightSpeed.Querying.RelationalOperator,System.Object[])">
            <summary>
            Builds a <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> representing a relational operation on
            a database.
            </summary>
            <param name="pathExpression">The attribute to use in the relational comparison.</param>
            <param name="op">The relational operation.</param>
            <param name="values">The value or values to use in the relational comparison.</param>
            <returns>A QueryExpression representing the relational operation.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.EqualExceptForAlias(Mindscape.LightSpeed.Querying.IAttributePathExpression)">
            <summary>
            Performs an equality test between this instance and another instance comparing all fields except for
            the alias field
            </summary>
            <param name="other">The other instance to be compared to</param>
            <returns>True if the two instances are equal otherwise False</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see> is equal
            to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to compare with
            the current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is equal to the
            current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PathExpression.GetHashCode">
            <summary>
            Serves as a hash function for a particular type. <see cref="M:System.Object.GetHashCode"></see>
            is suitable for use in hashing algorithms and data structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.PathExpression.EntityTypeAlias">
            <summary>
            The alias of the entity type to be applied when translating this expression.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.PathExpression.EntityType">
            <summary>
            The type of the entity which is associated with this path, or null if this relates to the entity type being queried
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.PredicateExpression">
            <summary>
            Represents a predicate expression.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PredicateExpression.#ctor(Mindscape.LightSpeed.Querying.IdentifierExpression,Mindscape.LightSpeed.Querying.RelationalOperator)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.PredicateExpression"/> class.
            </summary>
            <param name="identifierExpression">An <see cref="P:Mindscape.LightSpeed.Querying.PredicateExpression.IdentifierExpression"/> denoting
            the left hand side of the predicate expression.</param>
            <param name="op">The <see cref="T:Mindscape.LightSpeed.Querying.RelationalOperator"/> of the predicate expression.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PredicateExpression.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"></see>
            is equal to the current <see cref="T:System.Object"></see>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"></see> to
            compare with the current <see cref="T:System.Object"></see>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"></see> is
            equal to the current <see cref="T:System.Object"></see>; otherwise, false.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PredicateExpression.GetHashCode">
            <summary>
            Serves as a hash function for a particular type.
            <see cref="M:System.Object.GetHashCode"></see> is suitable for use
            in hashing algorithms and data structures like a hash table.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.PredicateExpression.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the
            current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the current
            <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.PredicateExpression.IdentifierExpression">
            <summary>
            Gets the identifier expression denoting the left hand side of the predicate.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.PredicateExpression.Operator">
            <summary>
            Gets the operator used in the predicate.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.PredicateExpression.RhsExpressions">
            <summary>
            Gets a collection of <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> objects denoting
            the right hand side of this predicate expression.
            </summary>
            <value>The collection of <see cref="T:Mindscape.LightSpeed.Querying.QueryExpression"/> objects.</value>
        </member>
        <member name="T:Mindscape.LightSpeed.Querying.Query">
            <summary>
            Represents a query specification.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Query.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Query.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> class.
            </summary>
            <param name="entityType">The <see cref="T:System.Type"/> of the <see cref="T:Mindscape.LightSpeed.Entity"/> this query is targeting.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Query.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> class.
            </summary>
            <param name="rawSql">The raw SQL statement that is to be executed as part of this query</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Query.#ctor(System.Type,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> class.
            </summary>
            <param name="entityType">The <see cref="T:System.Type"/> of the <see cref="T:Mindscape.LightSpeed.Entity"/> this query is targeting.</param>
            <param name="rawSql">The raw SQL statement that is to be executed as part of this query</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Query.#ctor(Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> class.
            </summary>
            <param name="queryExpression">A <see cref="P:Mindscape.LightSpeed.Querying.Query.QueryExpression"/> used to determine the precise results returned.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Query.#ctor(System.Type,Mindscape.LightSpeed.Querying.QueryExpression)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Querying.Query"/> class.
            </summary>
            <param name="entityType">The <see cref="T:System.Type"/> of the <see cref="T:Mindscape.LightSpeed.Entity"/> this query is targeting.</param>
            <param name="queryExpression">A <see cref="P:Mindscape.LightSpeed.Querying.Query.QueryExpression"/> used to determine the precise results returned.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Querying.Query.BuildSql(System.Boolean)">
            <summary>
            Builds the SQL that will be generated by this query. Requires that the
            <see cref="P:Mindscape.LightSpeed.Querying.Query.EntityType"/> property has been explicitly set.
            </summary>
            <param name="singleLine">If true, creates the SQL statement as a single line.
            If false, the SQL statement may include newlines and spacing for readability.</param>
            <returns>The SQL that will be generated by this query.</returns>
        </member>
        <member name="F:Mindscape.LightSpeed.Querying.Query.AllAggregates">
            <summary>
            When passed as the Query.AggregateName, includes all named aggregates
            (forces all optional eager loads).
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.EntityType">
            <summary>
            Gets or sets the <see cref="T:System.Type"/> of the <see cref="T:Mindscape.LightSpeed.Entity"/> this
            query is targeting.
            </summary>
            <value>The <see cref="T:System.Type"/> of the <see cref="T:Mindscape.LightSpeed.Entity"/> this query is targeting.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Mappings">
            <summary>
            Specifies a mapping of entity types to aliases for use in the <see cref="T:Mindscape.LightSpeed.Querying.Query"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.InnerQuery">
            <summary>
            Gets or sets the inner query.
            </summary>
            <remarks>This is typically used when projecting columns from another query, such
            as a join.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.QueryExpression">
            <summary>
            Gets or sets a <see cref="P:Mindscape.LightSpeed.Querying.Query.QueryExpression"/> used to determine the precise results returned.
            </summary>
            <value>A <see cref="P:Mindscape.LightSpeed.Querying.Query.QueryExpression"/> used to determine the precise results returned.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Order">
            <summary>
            Gets or sets <see cref="P:Mindscape.LightSpeed.Querying.Query.Order"/> that determines the order in which
            results are returned.
            </summary>
            <value>The <see cref="P:Mindscape.LightSpeed.Querying.Query.Order"/>.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Page">
            <summary>
            Gets or sets a <see cref="P:Mindscape.LightSpeed.Querying.Query.Page"/> used to return a subset of the total
            available results.
            </summary>
            <value>The <see cref="P:Mindscape.LightSpeed.Querying.Query.Page"/>.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Join">
            <summary>
            Gets or sets a <see cref="P:Mindscape.LightSpeed.Querying.Query.Join"/> that determines how the query retrieves data from
            across multiple tables.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.RawSql">
            <summary>
            Gets or sets a direct SQL statement that will be executed for this query. All other query options
            will be ignored if this value is set.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Group">
            <summary>
            Gets or sets a <see cref="P:Mindscape.LightSpeed.Querying.Query.Group"/> that determines how the query results
            are grouped.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.AggregateName">
            <summary>
            Gets or sets the name of the aggregate used to control
            the scope of the returned object graph.
            </summary>
            <value>The name of the aggregate.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.SearchQuery">
            <summary>
            Gets or sets the search query submitted to a <see cref="T:Mindscape.LightSpeed.Search.ISearchEngine"/> when using
            full text searching.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Identifier">
            <summary>
            Gets or sets an identifier used when querying for a single object by id.
            </summary>
            <value>The identifier.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.IncludeDeleted">
            <summary>
            When using soft delete, setting this property to true causes objects marked
            as deleted to also be returned.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.IncludeFiltered">
            <summary>
            When using implicit filtering, setting this property to true causes objects that would normally
            be filtered out to also be returned.  (That is, implicit filters are not applied when this
            property is true.)
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.IdentifiersOnly">
            <summary>
            When true, the query will select object identifiers instead of complete entities.
            This parameter is only applicable when using <see cref="M:Mindscape.LightSpeed.IUnitOfWork.Find(Mindscape.LightSpeed.Querying.Query,System.Collections.IList)"/>.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.ProviderOptions">
            <summary>
            Gets or sets database-specific query options.  The type of query options must
            correspond to the database provider against which you execute the query.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Projection">
            <summary>
            A collection of field names representing a projection. A projection query returns
            only a subset of fields of an entity.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Subexpressions">
            <summary>
            A collection of named subexpressions that can be referenced as attributes
            in the query.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Distinct">
            <summary>
            Applies the SQL DISTINCT operator to the generated SQL query. Only currently applies
            to projections.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.ViewName">
            <summary>
            Gets or sets the view to be used as the query source.  If null or empty, the default name
            (obtained from the class name or Table attribute) is used.
            </summary>
            <remarks>This allows the same entity type to be materialized from multiple different views
            (for example, Order entities from AllOrders, OverdueOrders or RecentOrders).</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.ComposedQueries">
            <summary>
            Gets a list of queries to be composed using the <see cref="P:Mindscape.LightSpeed.Querying.Query.ComposeMethod"/>.
            </summary>
            <remarks>This is used only for union and intersect-type queries.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.ComposeMethod">
            <summary>
            The SQL operator used to compose the <see cref="P:Mindscape.LightSpeed.Querying.Query.ComposedQueries"/>, such as
            UNION, UNION ALL or INTERSECT.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Querying.Query.Hints">
            <summary>
            Gets the hints or other execution guidance to be passed to
            the database for use in query planning.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.EntityHolder`1">
            <summary>
            An object that holds a reference to an associated <see cref="T:Mindscape.LightSpeed.Entity"/>
            </summary>
            <typeparam name="TEntity">The type of the associated <see cref="T:Mindscape.LightSpeed.Entity"/></typeparam>
        </member>
        <member name="P:Mindscape.LightSpeed.EntityHolder`1.IsLazy">
            <summary>
            Gets or sets a value indicating whether this instance is lazy, i.e. is
            not yet loaded.
            </summary>
            <value><c>true</c> if this instance is lazy; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:Mindscape.LightSpeed.Entity`1">
            <summary>
            The abstract base class inherited by all entities.
            </summary>
            <typeparam name="TId">The type of the entity's id field.</typeparam>
        </member>
        <member name="T:Mindscape.LightSpeed.Entity">
            <summary>
            The non-generic entity abstract base class. Never derive directly from
            this class but from <see cref="T:Mindscape.LightSpeed.Entity`1"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Entity"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Entity"/> class.
            </summary>
            <param name="autoInitialize">Whether this instance is initialized automatically.
            This constructor should be used from VB.NET where instance field initialization
            occurs after base class constructors are invoked. VB.NET constructors are required
            to explicitly call <see cref="M:Mindscape.LightSpeed.Entity.Initialize"/></param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.GetId">
            <summary>
            Gets the unique id of this entity.
            </summary>
            <returns>The unique id of this entity.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.GeneratedId">
            <summary>
            Generates an id for this entity.
            </summary>
            <returns>The generated id for this entity.</returns>
            <remarks>The default implementation of this method uses the <see cref="T:Mindscape.LightSpeed.IdentityMethod"/> specified
            by the <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/> or <see cref="T:Mindscape.LightSpeed.TableAttribute"/>.  You should not normally
            override this method.  If you do override this method, ensure that the returned id is of the correct
            type, and that the generated id is unique.  If the generated id is not unique then this will
            cause unpredictable behaviour and possible data loss.</remarks>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.OnDeserialization(System.Object)">
            <summary>
            Runs when the entire object graph has been deserialized.
            </summary>
            <param name="sender">The object that initiated the callback.
            The functionality for this parameter is not currently implemented.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.BeginEdit">
            <summary>
            Begins an edit on this entity.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.EndEdit">
            <summary>
            Pushes changes since the last <see cref="M:System.ComponentModel.IEditableObject.BeginEdit"></see>
            or <see cref="M:System.ComponentModel.IBindingList.AddNew"></see> call into the underlying object.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.CancelEdit">
            <summary>
            Discards changes since the last <see cref="M:System.ComponentModel.IEditableObject.BeginEdit"></see> call.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Attribute(System.String)">
            <summary>
            Returns a <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing a given
            attribute path string.
            </summary>
            <param name="attributePath">Path to the target attribute</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing target attribute path.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Attribute(System.Type,System.String)">
            <summary>
            Returns a <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing a given
            attribute path string.
            </summary>
            <param name="attributePath">Path to the target attribute</param>
            <param name="entityType">The type of entity which this path is associated with</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing target attribute path.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Attribute(System.Type,System.String,System.String)">
            <summary>
            Returns a <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing a given
            attribute path string.
            </summary>
            <param name="attributePath">Path to the target attribute</param>
            <param name="entityType">The type of entity which this path is associated with</param>
            <param name="alias">The alias to be used with the entity type</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing target attribute path.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Attribute``1(System.String)">
            <summary>
            Returns a <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing a given
            attribute path string.
            </summary>
            <param name="attributePath">Path to the target attribute</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing target attribute path.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Attribute``1(System.String,System.String)">
            <summary>
            Returns a <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing a given
            attribute path string.
            </summary>
            <param name="attributePath">Path to the target attribute</param>
            <param name="alias">The alias to be used with the entity type</param>
            <returns>A <see cref="T:Mindscape.LightSpeed.Querying.PathExpression"/> representing target attribute path.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Initialize">
            <summary>
            Initializes the Entity. Normally this method is called automatically.
            However, VB.NET users should call this method explicitly as discussed in
            <see cref="M:Mindscape.LightSpeed.Entity.#ctor(System.Boolean)"/>
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Validate">
            <summary>
            Validates this instance.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.OnValidating(System.ComponentModel.CancelEventArgs)">
            <summary>
            Raises the <see cref="E:Mindscape.LightSpeed.Entity.Validating"/> event. This method is called just before
            an entity is validated. Override to perform custom pre-validation processing
            or optionally cancel the validation operation.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.CancelEventArgs"/> 
            instance containing the event data.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.GetSearchData">
            <summary>
            Get the free text data to be indexed when using the LightSpeed search engine API. 
            By default this method will return a concatenation of field values attributed with the
            Indexed attribute. Override to provide custom data for this entity's index data.
            </summary>
            <returns>The free text to be indexed for this entity.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.OnSaving(System.ComponentModel.CancelEventArgs)">
            <summary>
            Raises the <see cref="E:Mindscape.LightSpeed.Entity.Saving"/> event. This method is called just before
            an entity is saved to the database (create or update). Override to perform
            custom save processing or optionally cancel the save operation.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.CancelEventArgs"/> 
            instance containing the event data.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.OnEnlisted(System.EventArgs)">
            <summary>
            Raises the <see cref="E:Mindscape.LightSpeed.Entity.Enlisted"/> event. This method is called as the entity is going to be enlisted
            in a change set as part of UnitOfWork.SaveChanges. Override to perform
            custom save processing.
            </summary>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.OnSaved(System.EventArgs)">
            <summary>
            Raises the <see cref="E:Mindscape.LightSpeed.Entity.Saving"/> event. This method is called on completion of the transaction where
            the entity has been saved to the database (create or update). Override to perform
            custom post save processing.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.CancelEventArgs"/> 
            instance containing the event data.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.OnValidate">
            <summary>
            Called by <see cref="M:Mindscape.LightSpeed.Entity.Validate"/>; override to perform custom validation.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.OnEntityStateChanged(Mindscape.LightSpeed.EntityStateChangedEventArgs)">
            <summary>
            Called when the <see cref="P:Mindscape.LightSpeed.Entity.EntityState"/> of the <see cref="T:Mindscape.LightSpeed.Entity"/> changes.
            </summary>
            <param name="e">The <see cref="T:Mindscape.LightSpeed.EntityStateChangedEventArgs"/> 
            instance containing the event data.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the
            current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the current
            <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.BeforeLoad">
            <summary>
            Called immediately before an <see cref="T:Mindscape.LightSpeed.Entity"/> is loaded from the database.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.AfterLoad">
            <summary>
            Called immediately after an <see cref="T:Mindscape.LightSpeed.Entity"/> is loaded from the database.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.OnPropertyChanged(System.String)">
            <summary>
            Fires the <see cref="E:Mindscape.LightSpeed.Entity.PropertyChanged"/> event.
            </summary>
            <param name="propertyName">The name of the property that changed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Get``1(``0@)">
            <summary>
            Gets the referenced field ensuring it is loaded. Use of this method is only
            required when using lazy-loaded value object fields (not associations).
            </summary>
            <typeparam name="TField">The field type.</typeparam>
            <param name="field">The field.</param>
            <returns>The field (now loaded).</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Get``1(``0@,System.String)">
            <summary>
            Gets the referenced field ensuring it is loaded. Use of this method is only
            required when using lazy-loaded value object fields (not associations).
            </summary>
            <typeparam name="TField">The field type.</typeparam>
            <param name="field">The field.</param>
            <param name="propertyName">The name of the property.</param>
            <returns>The field (now loaded).</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.IsLoaded(System.String)">
            <summary>
             Return <see langword="true"/> if the named value object attribute has been loaded.
            </summary>
            <param name="fieldName">The name of the attribute.</param>
            <returns><see langword="true"/> if the named attribute has been loaded.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Get``1(Mindscape.LightSpeed.EntityCollection{``0})">
            <summary>
            Gets the specified <see cref="T:Mindscape.LightSpeed.EntityCollection`1"/> ensuring that
            the collection is loaded.
            </summary>
            <typeparam name="TEntity">The type of the entity contained by the
            <see cref="T:Mindscape.LightSpeed.EntityCollection`1"/>.</typeparam>
            <param name="entityCollection">The <see cref="T:Mindscape.LightSpeed.EntityCollection`1"/>.</param>
            <returns>The original <see cref="T:Mindscape.LightSpeed.EntityCollection`1"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Get``2(Mindscape.LightSpeed.ThroughAssociation{``0,``1})">
            <summary>
            Gets the specified <see cref="T:Mindscape.LightSpeed.ThroughAssociation`2"/> ensuring that
            the underlying collection is loaded.
            </summary>
            <param name="throughAssociation">The <see cref="T:Mindscape.LightSpeed.ThroughAssociation`2"/>.</param>
            <returns>The original <see cref="T:Mindscape.LightSpeed.ThroughAssociation`2"/>.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Get``1(Mindscape.LightSpeed.EntityHolder{``0})">
            <summary>
            Gets an associated <see cref="T:Mindscape.LightSpeed.Entity"/> from the supplied <see cref="T:Mindscape.LightSpeed.EntityHolder`1"/>
            ensuring the the <see cref="T:Mindscape.LightSpeed.Entity"/> is loaded.
            </summary>
            <typeparam name="TEntity">The type of the entity.</typeparam>
            <param name="entityHolder">The entity holder.</param>
            <returns>The held <see cref="T:Mindscape.LightSpeed.Entity"/></returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Set``1(``0@,``0)">
            <summary>
            Sets the specified field.
            </summary>
            <typeparam name="TField">The type of the field.</typeparam>
            <param name="field">The field.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Set``1(``0@,``0,System.String)">
            <summary>
            Sets the specified field. Use of this overload is only required if you
            are calling other persistent attribute property setters within a single property setter.
            </summary>
            <typeparam name="TField">The type of the field.</typeparam>
            <param name="field">The field.</param>
            <param name="value">The value.</param>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.Set``1(Mindscape.LightSpeed.EntityHolder{``0},``0)">
            <summary>
            Sets an associated entity field value.
            </summary>
            <typeparam name="TEntity">The type of the entity.</typeparam>
            <param name="entityHolder">The entity holder.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity.MarkPropertyChanged(System.String,System.Boolean,System.Object)">
            <summary>
            Marks a property as having changed
            </summary>
            <remarks>AlterEntityState was added to resolve an issue where if setting a value on a 
            one-to-one association the entity that did not have an underlying column to update it would be
            marked as modified and then would be included in the batch update meaning a wasteful query.</remarks>
            <param name="propertyName">The name of the property that has changed</param>
            <param name="alterEntityState">Specifies if the entity should have its state changed. </param>
            <param name="oldValue">The value before change</param>
        </member>
        <member name="E:Mindscape.LightSpeed.Entity.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.Entity.Validating">
            <summary>
            Occurs before this entity is validated. Hook to perform custom
            pre-validation processing or optionally cancel the validation operation.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.Entity.Saving">
            <summary>
            Occurs before this entity is saved to the database (create or update).
            Hook to perform custom save processing or optionally cancel the save operation.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.Entity.Enlisted">
            <summary>
            Occurs as this entity is being enlisted into a change set to be saved to the database
            Hook to perform custom processing prior to the change set being finalised.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.Entity.Saved">
            <summary>
            Occurs after this entity is saved to the database (create or update) at the end of the SaveChanges() call.
            Hook to perform custom post save processing.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.Entity.EntityStateChanged">
            <summary>
            Occurs when the <see cref="P:Mindscape.LightSpeed.Entity.EntityState"/> of the <see cref="T:Mindscape.LightSpeed.Entity"/> changes.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Entity.IsDeserializing">
            <summary>
            Indicates if the entity is currently being deserialized
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Entity.IsValid">
            <summary>
            Returns <see langword="true" /> if this object is valid. 
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Entity.Errors">
            <summary>
            The current collection of <see cref="T:Mindscape.LightSpeed.Validation.ValidationError"/>s for this object.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Entity.EntityState">
            <summary>
            The current dirty state of the entity.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Entity.ChangeTracker">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.ChangeTracker"/> associated with this entity.
            </summary>
            <remarks>By default change tracking is disabled. To track changes set the the <see cref="P:Mindscape.LightSpeed.ChangeTracker.TrackingMode"/> on this property.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Entity.UnitOfWork">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> with which the entity is associated,
            if any.
            </summary>
            <remarks>Applications should not normally have to obtain the unit of work
            from an entity.  Consider using the Repository pattern instead (implemented using
            <see cref="T:Mindscape.LightSpeed.IRepository"/> or <see cref="T:Mindscape.LightSpeed.RepositoryBase`1"/> and 
            <see cref="T:Mindscape.LightSpeed.UnitOfWorkScopeBase`1"/>).</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Entity.Item(System.String)">
            <summary>
            Gets the error message for the property with the given name.
            </summary>
            <param name="columnName">The name of the property whose error message to get.</param>
            <returns>The error message for the property. The default is an empty string ("").</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Entity.Error">
            <summary>
            Gets an error message indicating what is wrong with this object.
            </summary>
            <value></value>
            <returns>An error message indicating what is wrong with this object.
            The default is an empty string ("").</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Entity`1"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Entity`1.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Entity`1"/> class.
            </summary>
            <param name="autoInitialize">Whether this instance is initialized automatically.
            This constructor should be used from VB.NET where instance field initialization
            occurs after base class constructors are invoked. VB.NET constructors are required
            to explicitly call <see cref="M:Mindscape.LightSpeed.Entity.Initialize"/></param>
        </member>
        <member name="P:Mindscape.LightSpeed.Entity`1.Id">
            <summary>
            Gets the unique id of this entity.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.IdentityMethod">
            <summary>
            Determines the strategy used to generate new identity values.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.IdentityMethod.Default">
            <summary>
            Use the default <see cref="T:Mindscape.LightSpeed.IdentityMethod"/>
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.IdentityMethod.KeyTable">
            <summary>
            Uses the Key Table (hilo) pattern to efficiently produce database unique integer keys.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.IdentityMethod.Guid">
            <summary>
            Uses <see cref="M:System.Guid.NewGuid"/>
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.IdentityMethod.Sequence">
            <summary>
            Uses a database Sequence object like that supported on Oracle and PostgreSQL.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.IdentityMethod.IdentityColumn">
            <summary>
            Uses an auto incrementing database identity column.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.IdentityMethod.GuidComb">
            <summary>
            An <see cref="T:Mindscape.LightSpeed.IIdentityGenerator"/> that generates <see cref="T:System.Guid"/> values 
            using a strategy suggested Jimmy Nilsson's 
            <a href="http://www.informit.com/articles/article.asp?p=25862">article</a>
            on <a href="http://www.informit.com">informit.com</a>. 
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.IdentityMethod.MultiSequence">
            <summary>
            Uses database Sequence objects like those supported on Oracle and PostgreSQL,
            and allows multiple sequences.  Use <see cref="P:Mindscape.LightSpeed.LightSpeedContext.NamingStrategy"/>
            to specify the sequence names.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.DataProvider">
            <summary>
            The data providers supported by LightSpeed. Unless otherwise specified, the
            version number indicates the minimum supported database version.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.SqlServer2005">
            <summary>
            SQL Server 2005 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.MySql5">
            <summary> 
            MySQL 5 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.PostgreSql8">
            <summary>
            PostgreSQL 8 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.PostgreSql9">
            <summary>
            PostgreSQL 9 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.SQLite3">
            <summary>
            SQLite 3 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.Oracle9">
            <summary>
            Oracle 9 and higher data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.Oracle9Odp">
            <summary>
            Oracle 9 and higher ODP data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.SqlServerCE">
            <summary>
            SQL Server Compact 3.5 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.AmazonSimpleDB">
            <summary>
            Amazon SimpleDB data provider
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.SqlServer2008">
            <summary>
            Microsoft SQL Server 2008 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.DB2">
            <summary>
            IBM DB2 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.SqlServer2000">
            <summary>
            Microsoft SQL Server 2000 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.VistaDB4">
            <summary>
            VistaDB 4 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.SqlServerCE4">
            <summary>
            Microsoft SQL Server Compact 4 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.WindowsAzureTableService">
            <summary>
            Microsoft Windows Azure Table Service data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.SqlServer2012">
            <summary>
            Microsoft SQL Server 2012 data provider.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.DataProvider.Custom">
            <summary>
            User defined provider plugin
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.EntityState">
            <summary>
            Represents the current state of an <see cref="T:Mindscape.LightSpeed.Entity"/>.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.EntityState.Default">
            <summary>
            The entity is in a clean, default state.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.EntityState.New">
            <summary>
            The entity is marked for insertion.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.EntityState.Modified">
            <summary>
            The entity has been modified.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.EntityState.Deleted">
            <summary>
            The entity is marked for deletion.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.IUnitOfWorkFactory">
            <summary>
            A factory for concrete <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> implementations.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.IUnitOfWorkFactory.Create(Mindscape.LightSpeed.LightSpeedContext)">
            <summary>
            Creates and returns a new <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/>
            </summary>
            <param name="context">An associated <see cref="T:Mindscape.LightSpeed.LightSpeedContext"/>.</param>
            <returns>A new <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/></returns>
        </member>
        <member name="T:Mindscape.LightSpeed.EntityCollection`1">
            <summary>
            A collection of <see cref="T:Mindscape.LightSpeed.Entity"/> objects.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.EntityCollection`1"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.BeginEdit">
            <summary>
            Begins an edit on an object.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.EndEdit">
            <summary>
            Pushes changes since the last <see cref="M:System.ComponentModel.IEditableObject.BeginEdit"></see> 
            or <see cref="M:System.ComponentModel.IBindingList.AddNew"></see> call into the underlying object.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.CancelEdit">
            <summary>
            Discards changes since the last <see cref="M:System.ComponentModel.IEditableObject.BeginEdit"></see> call.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents
            the current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the
            current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.Find(System.Predicate{`0})">
            <summary>
            Finds an entity that matches a predicate.
            </summary>
            <param name="match">The predicate that must be matched.</param>
            <returns>The entity found based on the provided predicate.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.FindAll(System.Predicate{`0})">
            <summary>
            Finds a list of entities that match a predicate.
            </summary>
            <param name="match">The predicate that must be matched</param>
            <returns>A collection of entities that matched the provided predicate.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds a range of entities to this collection.
            </summary>
            <param name="collection">The collection of entities to add.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.ToArray">
            <summary>
            Creates a primitive array of the entities in this collection.
            </summary>
            <returns>An array of entities in this collection.</returns>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.InsertItem(System.Int32,`0)">
            <summary>
            Inserts the specified item in the list at the specified index.
            </summary>
            <param name="index">The zero-based index where the item is to be inserted.</param>
            <param name="item">The item to insert in the list.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.ClearItems">
            <summary>
            Removes all elements from the collection.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.RemoveItem(System.Int32)">
            <summary>
            Removes the item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.Add(`0)">
            <summary>
            
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.Mindscape#LightSpeed#IEntityCollection#get_RaiseListChangedEvents">
            <summary>
            A collection of <see cref="T:Mindscape.LightSpeed.Entity"/> objects.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.EntityCollection`1.Mindscape#LightSpeed#IEntityCollection#set_RaiseListChangedEvents(System.Boolean)">
            <summary>
            A collection of <see cref="T:Mindscape.LightSpeed.Entity"/> objects.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.EntityCollection`1.EntityAdded">
            <summary>
            Occurs when an entity is added to the collection.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.EntityCollection`1.EntityRemoved">
            <summary>
            Occurs when an entity is removed from the collection.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.EntityCollection`1.ItemAdded">
            <summary>
            Occurs when an entity is added.
            </summary>
        </member>
        <member name="E:Mindscape.LightSpeed.EntityCollection`1.ItemRemoved">
            <summary>
            Occurs when an entity is removed.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.EntityCollection`1.IsLazy">
            <summary>
            Gets or sets a value indicating whether this instance is lazy, i.e. is
            not yet loaded.
            </summary>
            <value><c>true</c> if this instance is lazy; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.EntityCollection`1.Deleted">
            <summary>
            Gets entities that have been removed from this collection but whose deletion
            has not yet been saved to the database.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.LightSpeedException">
            <summary>
            Represents a general error that occurs within the LightSpeed framework.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LightSpeedException"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LightSpeedException"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LightSpeedException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.LightSpeedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.LightSpeedException"/> class.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> that
            holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> 
            that contains contextual information about the source or destination.</param>
            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is 
            null or <see cref="P:System.Exception.HResult"></see> is zero (0). </exception>
            <exception cref="T:System.ArgumentNullException">The info parameter is null. </exception>
        </member>
        <member name="T:Mindscape.LightSpeed.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.AddingEntityToCache">
            <summary>
              Looks up a localized string similar to Adding entity to cache [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.AddingFindAllResultToCache">
            <summary>
              Looks up a localized string similar to Adding &apos;find all&apos; result to cache [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ArgumentMustHaveAtLeastOneElement">
            <summary>
              Looks up a localized string similar to {0} must have at least one element.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.BadIndexFileLocation">
            <summary>
              Looks up a localized string similar to Search engine index directory was not specified or does not exist.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.BadKeyTableResult">
            <summary>
              Looks up a localized string similar to KeyTable generated identity was out of range.  The key table may be empty.  Ensure that the {0} table contains a row, and that the {1} value is at least 1..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.BadPredicateRhsExpressionType">
            <summary>
              Looks up a localized string similar to Only literal values or simple paths are permitted on the right hand side of a predicate.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.BadRelationalOperatorForConvertedColumn">
            <summary>
              Looks up a localized string similar to {0} queries cannot be used with literal values on a column with a field converter: {1}.{2}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CannotCreateActivatorForType">
            <summary>
              Looks up a localized string similar to Cannot create instance of {0} (does it have a public default constructor?).
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CannotInferPropertyNamesInMediumTrust">
            <summary>
              Looks up a localized string similar to Cannot infer property names in medium trust.  Use Set(TField, TField, string) overload instead..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CannotUseMultiPartPath">
            <summary>
              Looks up a localized string similar to Cannot order by or select a path with traversals.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CannotUseValueObjectsInMediumTrust">
            <summary>
              Looks up a localized string similar to Cannot use value objects or other read-only fields (including special fields) in medium trust.  Consider making the field {0} read-write.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CantDetectPropertyNamesBecauseMultiplePropertiesUseSameField">
            <summary>
              Looks up a localized string similar to Unable to use automatic property name detection for type &apos;{0}&apos; because multiple properties refer to field &apos;{1}&apos;.  Change all property setters to use the Set overload which takes a property name..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CantEagerLoad">
            <summary>
              Looks up a localized string similar to The EagerLoad attribute applied to field [{0}] must specify an AggregateName.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CantInferFieldName">
            <summary>
              Looks up a localized string similar to Unable to infer property names for fields declared in abstract classes. Please pass the property name explicitly to Get or Set.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CantMaterialize">
            <summary>
              Looks up a localized string similar to Unable to materialize field [{0}] on type [{1}]. Check your table has an Id column and that your mappings are correct. See inner exception for details. .
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CantMaterializeByName">
            <summary>
              Looks up a localized string similar to Unable to materialize field [{0}] on type [{1}]. Check your procedure returns an Id column and that your mappings are correct..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CantMaterializeInvalidCast">
            <summary>
              Looks up a localized string similar to Unable to materialize field [{0}] on type [{1}]: field is type &apos;{2}&apos; but database returned type &apos;{3}&apos;. Check your table has an Id column and that your mappings are correct. See inner exception for details..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CircularAssociationsNotSupported">
            <summary>
              Looks up a localized string similar to Circular associations are not supported by LightSpeed: [{0} and {1}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ClearChangesNotSupported">
            <summary>
              Looks up a localized string similar to This service does not support clearing pending changes.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CollectionItemInvalid">
            <summary>
              Looks up a localized string similar to {0} item {1} is invalid.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ConnectionStrategyWrongContext">
            <summary>
              Looks up a localized string similar to The connection strategy is for a different LightSpeedContext.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CouldntCreateType">
            <summary>
              Looks up a localized string similar to An error occurred trying to create custom object with type name: [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CustomAuditInfoStrategyNotSpecified">
            <summary>
              Looks up a localized string similar to AuditInfoMode is set to Custom, but no custom strategy has been set on the LightSpeedContext.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.CustomTimestampStrategyNotSpecified">
            <summary>
              Looks up a localized string similar to AutoTimestampMode is set to Custom, but no custom strategy has been set on the LightSpeedContext.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.DatabaseProviderDoesNotSupportIdentityColumn">
            <summary>
              Looks up a localized string similar to This database provider does not support the IdentityColumn identity method.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.DataProviderDoesNotSupportScalarStoredProcedureQueries">
            <summary>
              Looks up a localized string similar to The {0} data provider does not support scalar stored procedure queries.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.DataProviderDoesNotSupportSequences">
            <summary>
              Looks up a localized string similar to The {0} data provider does not support sequence number identity generation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.DataProviderDoesNotSupportStoredProcedureQueries">
            <summary>
              Looks up a localized string similar to The {0} data provider does not support stored procedure queries.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.DBNoPaging">
            <summary>
              Looks up a localized string similar to The current DataProvider does not support paging.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.DiscriminatorIsMissingAttribute">
            <summary>
              Looks up a localized string similar to Discriminator attribute for type {0}  is missing an Attribute value.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.EditionMaxTypesExceeded">
            <summary>
              Looks up a localized string similar to This edition supports a maximum of {0} types..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.EntityAlreadyAdded">
            <summary>
              Looks up a localized string similar to Entity has already been added.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.EntityAlreadyAttached">
            <summary>
              Looks up a localized string similar to Entity is already attached.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.EntityAlreadyMarkedForDeletion">
            <summary>
              Looks up a localized string similar to Entity is already marked for deletion.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.EntityCannotBeOwnParentOrChild">
            <summary>
              Looks up a localized string similar to Error setting &apos;{0}&apos; on entity &apos;{1}&apos;.  An entity cannot be its own parent or child..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.EntityRemovedFromCache">
            <summary>
              Looks up a localized string similar to Entity removed from cache [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.EntityToStringFormat">
            <summary>
              Looks up a localized string similar to {0} [Id={1}, EntityState={2}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.EntityTypeNotSet">
            <summary>
              Looks up a localized string similar to EntityType property not set on Query object. To use the Debugger Visualizer set the Query.EntityType property to the target Entity type..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ErrorAssigningId">
            <summary>
              Looks up a localized string similar to An error occurred when trying to assign a new Identity value to this entity. Check inner exception for details.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ErrorSettingFieldValue">
            <summary>
              Looks up a localized string similar to Error setting value of field [{0}] on entity type [{1}].  See inner exception for details..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ExceptionSelectingFromSequence">
            <summary>
              Looks up a localized string similar to An error occurred when trying to select from the sequence &apos;{0}&apos;.  Check the InnerException for details.  The error message was: &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ExpectedEntityStateNew">
            <summary>
              Looks up a localized string similar to Expected EntityState.New.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ExpectedNonNegativeArgument">
            <summary>
              Looks up a localized string similar to [{0}] cannot be negative.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ExpectedNonZeroArgument">
            <summary>
              Looks up a localized string similar to [{0}] cannot be zero.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ExpectedPositiveArgument">
            <summary>
              Looks up a localized string similar to [{0}] must be positive.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ExpectedSingleResult">
            <summary>
              Looks up a localized string similar to Expected single result from query but got {0}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.FieldModelNotFoundForColumn">
            <summary>
              Looks up a localized string similar to Field model not found for column {0} on type {1}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.FKColumnNotFound">
            <summary>
              Looks up a localized string similar to Required foreign key column [{0}] not found on [{1}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.FoundEntityInCache">
            <summary>
              Looks up a localized string similar to Found entity in cache [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.FoundFindAllResultInCache">
            <summary>
              Looks up a localized string similar to Found &apos;find all&apos; result in cache [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.GuidCannotBeEmpty">
            <summary>
              Looks up a localized string similar to The provided Guid argument [{0}] cannot be empty.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.InvalidBooleanConnectionStringSetting">
            <summary>
              Looks up a localized string similar to {0} connection string setting must be True or False.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.InvalidDottedForeignKeyFieldPath">
            <summary>
              Looks up a localized string similar to Invalid dotted field path in ForeignKeyFieldAttribute.  Dotted paths must begin with Id and may have only one additional part..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.InvalidEnumValue">
            <summary>
              Looks up a localized string similar to The value of the argument [{0}] provided for the enumeration [{1}] is invalid.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.InvalidFormat">
            <summary>
              Looks up a localized string similar to {0} has an invalid format.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.InvalidQueryException">
            <summary>
              Looks up a localized string similar to Query Error: Could not find field [{0}] on model [{1}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.InvalidUri">
            <summary>
              Looks up a localized string similar to {0} is not a valid URI.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.InvariantFail">
            <summary>
              Looks up a localized string similar to Invariant Failure.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.IsInvalid">
            <summary>
              Looks up a localized string similar to {0} is invalid.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ItemRemovedFromCache">
            <summary>
              Looks up a localized string similar to Item removed from cache [Key={0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.LengthMustBeBetween">
            <summary>
              Looks up a localized string similar to {0} length must be between {1} and {2}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.LockVersionIsIncorrectType">
            <summary>
              Looks up a localized string similar to Error in definition of entity &apos;{0}&apos;: LockVersion must be an int.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.MustBeBetween">
            <summary>
              Looks up a localized string similar to {0} must be between {1} and {2}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.MustBeEqualTo">
            <summary>
              Looks up a localized string similar to {0} must be equal to {1}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.MustBeGreaterThan">
            <summary>
              Looks up a localized string similar to {0} must be greater than {1}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.MustBeGreaterThanOrEqualTo">
            <summary>
              Looks up a localized string similar to {0} must be greater than or equal to {1}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.MustBeLessThan">
            <summary>
              Looks up a localized string similar to {0} must be less than {1}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.MustBeLessThanOrEqualTo">
            <summary>
              Looks up a localized string similar to {0} must be less than or equal to {1}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.MustBeUnique">
            <summary>
              Looks up a localized string similar to {0} must be unique.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.MustNotBeEqualTo">
            <summary>
              Looks up a localized string similar to {0} must be not equal to {1}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NoCurrentUnitOfWork">
            <summary>
              Looks up a localized string similar to This operation requires an active UnitOfWork.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NoResourceFound">
            <summary>
              Looks up a localized string similar to No resource of type {0} matching the query criteria was found.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NoReverseAssociation">
            <summary>
              Looks up a localized string similar to Could not determine the reverse association of [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NoReverseAssociationAppliesOnlyToToOneAssociations">
            <summary>
              Looks up a localized string similar to NoReverseAssociationAttribute may not be applied to {0}.{1} because it is a one-to-one or a to-many relationship..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NoReverseAssociationIsNotCompatibleWithEagerLoad">
            <summary>
              Looks up a localized string similar to {0}.{1} is marked as NoReverseAssociation and EagerLoad.  A NoReverseAssociation association cannot be eager-loaded..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NoSearchEngine">
            <summary>
              Looks up a localized string similar to No search engine has been configured on LightSpeedContext.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NoSuchAttribute">
            <summary>
              Looks up a localized string similar to No such attribute {0} was found on type {1}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NotAnEntityCollection">
            <summary>
              Looks up a localized string similar to The collection to which the resource is being added or removed is not an entity collection.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NothingToUpdate">
            <summary>
              Looks up a localized string similar to Empty attribute collection passed to Update.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.NoUnitOfWork">
            <summary>
              Looks up a localized string similar to No unit of work is currently associated with this Query. To use the Debugger Visualizer pass this query object to one of the IUnitOfWork.Find methods..
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ObjectInvalid">
            <summary>
              Looks up a localized string similar to The object [{0}] could not be saved because it is invalid.{1}{1}The errors are:{1}{1}{2}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.OneToOneAssociationHasManyChildren">
            <summary>
              Looks up a localized string similar to Expected single child entity but found multiple. First child id:[{0}] Parent:[{1}({2})], Child:[{3}({4})].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.OptimisticConcurrencyViolation">
            <summary>
              Looks up a localized string similar to An optimistic concurrency violation was detected while attempting update or delete of table [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.PathComponentNotFound">
            <summary>
              Looks up a localized string similar to Path component [{0}] not found in type [{1}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ProjectionFieldNotFound">
            <summary>
              Looks up a localized string similar to Field [{0}] in projection not found on type [{1}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ProvidedTypeMustInherit">
            <summary>
              Looks up a localized string similar to The provided type [{0}] must inherit from [{1}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.RecursiveAssociationMustBeLazyLoaded">
            <summary>
              Looks up a localized string similar to The association [{0}] on type [{1}] must not be eager-loaded as it represents a hierachical relation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.RecursiveKeyMustBeNullable">
            <summary>
              Looks up a localized string similar to The field [{0}] on type [{1}] must be nullable as it represents a hierachical relation.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.RemovedFindAllResultFromCache">
            <summary>
              Looks up a localized string similar to Removed &apos;find all&apos; result from cache [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ResetResourceNotSupported">
            <summary>
              Looks up a localized string similar to This service does not support resetting resources.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.SecondLevelCacheEnabled">
            <summary>
              Looks up a localized string similar to Second-level cache enabled [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.SettingEntityIntoCache">
            <summary>
              Looks up a localized string similar to Setting entity into cache [{0}].
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.SimpleDBInternalErrorNonCalculationPassedToCalculateMethod">
            <summary>
              Looks up a localized string similar to SimpleDB provider error: non-calculation passed to Calculate method.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.SimpleDBInternalNoColumnsInSelectStatement">
            <summary>
              Looks up a localized string similar to SimpleDB provider error: No columns in select statement.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.StringCannotBeEmpty">
            <summary>
              Looks up a localized string similar to The provided string argument [{0}] cannot be empty.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.TraversalForbiddenOnRhsOfPredicate">
            <summary>
              Looks up a localized string similar to Traversing relationships is not supported on the right hand side of a predicate.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.TypeModelNotFoundForTable">
            <summary>
              Looks up a localized string similar to Type model not found for table {0}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.TypeNoDiscriminators">
            <summary>
              Looks up a localized string similar to Descendent type [{1}] of type [{0}] is not discriminated.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.TypeNotIndexed">
            <summary>
              Looks up a localized string similar to The type [{0}] has no indexable fields defined.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.UnsignedAssembly">
            <summary>
              Looks up a localized string similar to This edition of LightSpeed requires that a valid assembly signature is present.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.UnsupportedExpressionTypeInPredicate">
            <summary>
              Looks up a localized string similar to This type of expression is not supported in a predicate.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.UnsupportedFieldTypeForNonTransientField">
            <summary>
              Looks up a localized string similar to Unsupported field type &apos;{0}&apos; for non-transient field {1}.{2}.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.UnsupportedSimpleDBCalculationType">
            <summary>
              Looks up a localized string similar to Amazon SimpleDB provider supports only COUNT calculations.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.UnversionedPartialUpdatesWithCtiNotSupported">
            <summary>
              Looks up a localized string similar to Unversioned partial updates are not supported with CTI structures.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Properties.Resources.ValidationIsRequired">
            <summary>
              Looks up a localized string similar to {0} is required.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Logging.ConsoleLogger">
            <summary>
            An <see cref="T:Mindscape.LightSpeed.Logging.ILogger"/> that logs to <see cref="T:System.Console"/>
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Logging.ConsoleLogger.LogSql(System.Object)">
            <summary>
            Logs generated SQL just before it is executed by LightSpeed.
            </summary>
            <param name="sql">The SQL to log.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Logging.ConsoleLogger.LogDebug(System.Object)">
            <summary>
            Logs a debug message.
            </summary>
            <param name="text">The debug message to log.</param>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidationIgnoresAssociationsAttribute">
            <summary>
            Indicates that validation should not traverse any associations to perform child validations
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidateLengthAttribute">
            <summary>
            Associates a <see cref="T:Mindscape.LightSpeed.Validation.LengthValidationRule"/> with the attribute target.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidationAttribute">
            <summary>
            Base class for all validation attributes.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <value>The validation rule.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationAttribute.Message">
            <summary>
            Allows a custom error message to be specified. Use {0} as a placeholder
            for the name of the attribute being validated. 
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateLengthAttribute.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateLengthAttribute"/> class.
            </summary>
            <param name="minimum">The minimum length.</param>
            <param name="maximum">The maximum length.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateLengthAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <returns></returns>
            <value>The validation rule.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateLengthAttribute.Minimum">
            <summary>
            Gets the minimum length.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateLengthAttribute.Maximum">
            <summary>
            Gets the maximum length.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidateRangeAttribute">
            <summary>
            Associates a <see cref="T:Mindscape.LightSpeed.Validation.RangeValidationRule"/> with the attribute target, validating
            that a value is greater than the low value and less than the high value.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateRangeAttribute.#ctor(System.Object,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateRangeAttribute"/> class.
            </summary>
            <param name="low">The lower bound of the permitted range.</param>
            <param name="high">The upper bound of the permitted range.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateRangeAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <returns></returns>
            <value>The validation rule.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateRangeAttribute.Low">
            <summary>
            Gets the lower bound of the permitted range.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateRangeAttribute.High">
            <summary>
            Gets the upper bound of the permitted range.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidateComparisonAttribute">
            <summary>
            Associates a <see cref="T:Mindscape.LightSpeed.Validation.ComparisonValidationRule"/> with the attribute target.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateComparisonAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateComparisonAttribute"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateComparisonAttribute.#ctor(Mindscape.LightSpeed.Validation.ComparisonOperator,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateComparisonAttribute"/> class.
            </summary>
            <param name="comparisonOperator">The operator used in the comparison.</param>
            <param name="comparable">The object to compare to.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateComparisonAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <value>The validation rule.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateComparisonAttribute.ComparisonOperator">
            <summary>
            Gets the operator used in the comparison.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateComparisonAttribute.Value">
            <summary>
            Gets the object to compare to.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidateUniqueAttribute">
            <summary>
            Associates a <see cref="T:Mindscape.LightSpeed.Validation.UniqueValidationRule"/> with the attribute target.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateUniqueAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateUniqueAttribute"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateUniqueAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateUniqueAttribute"/> class.
            </summary>
            <param name="scope">The name of an attribute used to limit the scope of
            the uniqueness check.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateUniqueAttribute.IncludeDeleted">
            <summary>
            Gets or sets whether to include soft-deleted items in the uniqueness check.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateUniqueAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <returns></returns>
            <value>The validation rule.</value>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidateUriAttribute">
            <summary>
            Associates a <see cref="T:Mindscape.LightSpeed.Validation.UriValidationRule"/> with the attribute target.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateUriAttribute.UriType">
            <summary>
            Gets or sets the type of URI that is acceptable (e.g. absolute or relative). The default value 
            is UriKind.Absolute.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateUriAttribute.IsRequired">
            <summary>
            Gets or sets whether empty or null strings will be rejected as invalid.  The default
            value is true, meaning that an empty or null string will be considered invalid.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateUriAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <returns></returns>
            <value>The validation rule.</value>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidateEmailAddressAttribute">
            <summary>
            Associates a <see cref="T:Mindscape.LightSpeed.Validation.EmailAddressValidationRule"/> with the attribute target.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateEmailAddressAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateEmailAddressAttribute"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateEmailAddressAttribute.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateEmailAddressAttribute"/> class.
            </summary>
            <param name="isRequired">True, if the target is required to be present.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateEmailAddressAttribute.IsRequired">
            <summary>
            Whether the target is required to be present.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateEmailAddressAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <returns></returns>
            <value>The validation rule.</value>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidateFormatAttribute">
            <summary>
            Associates a <see cref="T:Mindscape.LightSpeed.Validation.FormatValidationRule"/> with the attribute target.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateFormatAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateFormatAttribute"/> class.
            </summary>
            <param name="pattern">The regex pattern.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateFormatAttribute.#ctor(System.Text.RegularExpressions.Regex)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateFormatAttribute"/> class.
            </summary>
            <param name="regex">The regex pattern.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateFormatAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <returns></returns>
            <value>The validation rule.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateFormatAttribute.Pattern">
            <summary>
            Gets the regex pattern.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidatePresenceAttribute">
            <summary>
            Associates a <see cref="T:Mindscape.LightSpeed.Validation.PresenceValidationRule"/> with the attribute target.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidatePresenceAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <value>The validation rule.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidatePresenceAttribute.AllowEmptyString">
            <summary>
            Gets or sets whether the empty string is treated as present.
            The default value is false, i.e. the empty string is treated as
            not present and will cause a validation failure.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidationException">
            <summary>
            Represents an exception when a validator fails.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidationException"/> class.
            </summary>
            <param name="message">The exception message.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationException.#ctor(Mindscape.LightSpeed.Entity)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidationException"/> class.
            </summary>
            <param name="entity">The entity for which the validation failed.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidationException"/> class.
            </summary>
            <param name="message">The exception message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidationException"/> class.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see>
            that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see>
            that contains contextual information about the source or destination.</param>
            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is
            null or <see cref="P:System.Exception.HResult"></see> is zero (0). </exception>
            <exception cref="T:System.ArgumentNullException">The info parameter is null. </exception>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidationException"/> class.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationException.Entity">
            <summary>
            The entity for which the validation failed, if available.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidationNoTraverseAttribute">
            <summary>
            Indicates that validation should not traverse this association
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ComparisonOperator">
            <summary>
            Operators used in a <see cref="T:Mindscape.LightSpeed.Validation.ComparisonValidationRule"/>
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Validation.ComparisonOperator.EqualTo">
            <summary>
            The == operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Validation.ComparisonOperator.NotEqualTo">
            <summary>
            The != operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Validation.ComparisonOperator.GreaterThan">
            <summary>
            The > operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Validation.ComparisonOperator.GreaterThanOrEqualTo">
            <summary>
            The >= operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Validation.ComparisonOperator.LessThan">
            <summary>
            The &lt; operator.
            </summary>
        </member>
        <member name="F:Mindscape.LightSpeed.Validation.ComparisonOperator.LessThanOrEqualTo">
            <summary>
            The &lt;= operator.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ComparisonValidationRule">
            <summary>
            Validates the target by comparing it to a given <see cref="T:System.IComparable"/>
            using a supplied <see cref="T:Mindscape.LightSpeed.Validation.ComparisonOperator"/>.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidationRule">
            <summary>
            Base class for all validation rules. 
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationRule.Message">
            <summary>
            Allows a custom error message format string to be specified.
            Use {0} as a placeholder for the name of the attribute being validated.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ComparisonValidationRule.#ctor(Mindscape.LightSpeed.Validation.ComparisonOperator,System.IComparable)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ComparisonValidationRule"/> class.
            </summary>
            <param name="comparisonOperator">The operator used in the comparison.</param>
            <param name="comparable">The object to compare to.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ComparisonValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ComparisonValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ComparisonValidationRule.Value">
            <summary>
            Gets the value against which the rule compares.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.LengthValidationRule">
            <summary>
            Validates that the target is within the specified range (inclusive).
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.LengthValidationRule.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.LengthValidationRule"/> class.
            </summary>
            <param name="minimum">The minimum length.</param>
            <param name="maximum">The maximum length.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.LengthValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.LengthValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.LengthValidationRule.Minimum">
            <summary>
            Gets the minimum length.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.LengthValidationRule.Maximum">
            <summary>
            Gets the maximum length.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ProviderDateRangeValidationRule">
            <summary>
            Validates that the target is within the specified range (inclusive).
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.RangeValidationRule">
            <summary>
            Validates that the target is within the specified range (inclusive).
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.RangeValidationRule.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.RangeValidationRule"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.RangeValidationRule.#ctor(System.IComparable,System.IComparable)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.RangeValidationRule"/> class.
            </summary>
            <param name="low">The low.</param>
            <param name="high">The high.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.RangeValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.RangeValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.RangeValidationRule.Low">
            <summary>
            Gets the low end of the valid range.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.RangeValidationRule.High">
            <summary>
            Gets the high end of the valid range.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ProviderDateRangeValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.UniqueValidationRule">
            <summary>
            Validates that the target is unique.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.UniqueValidationRule.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.UniqueValidationRule"/> class.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.UniqueValidationRule.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.UniqueValidationRule"/> class.
            </summary>
            <param name="scope">The name of an attribute used to limit the scope of
            the uniqueness check.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.UniqueValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.UniqueValidationRule.IncludeDeleted">
            <summary>
            Gets or sets whether to include soft-deleted items in the uniqueness check.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.UniqueValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.UriValidationRule">
            <summary>
            Validates that the target is a valid URI.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.UriValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.UriValidationRule.UriType">
            <summary>
            Gets or sets the type of URI that is acceptable (e.g. absolute or relative). The default value 
            is UriKind.Absolute.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.UriValidationRule.IsRequired">
            <summary>
            Gets or sets whether empty or null strings will be rejected as invalid.  The default
            value is true, meaning that an empty or null string will be considered invalid.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.UriValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.EmailAddressValidationRule">
            <summary>
            Validates that the target is a valid email address.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.EmailAddressValidationRule.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.EmailAddressValidationRule"/> class.
            </summary>
            <param name="isRequired">True, if the target is required to be present.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.EmailAddressValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.EmailAddressValidationRule.IsRequired">
            <summary>
            Whether the target is required to be present.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.EmailAddressValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.FormatValidationRule">
            <summary>
            Validates that the target conforms to a given format specified by a supplied
            regular expression
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.FormatValidationRule.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.FormatValidationRule"/> class.
            </summary>
            <param name="pattern">The regex pattern.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.FormatValidationRule.#ctor(System.Text.RegularExpressions.Regex)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.FormatValidationRule"/> class.
            </summary>
            <param name="regex">The regex.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.FormatValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.FormatValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.FormatValidationRule.Regex">
            <summary>
            Gets the regex used for format validation.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.PresenceAssociationValidationRule">
            <summary>
            Validates that an associated object is present.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.PresenceAssociationValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.PresenceAssociationValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidateAttribute">
            <summary>
            Allows custom validations to be applied.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidateAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Mindscape.LightSpeed.Validation.ValidateAttribute"/> class.
            </summary>
            <param name="validationRuleType">Type of the custom validation rule.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidateAttribute.ValidationRule">
            <summary>
            Gets the validation rule.
            </summary>
            <returns></returns>
            <value>The validation rule.</value>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.PresenceValidationRule">
            <summary>
            Validates that the target is present. i.e. Not null or empty.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.PresenceValidationRule.Validate(Mindscape.LightSpeed.Validation.ValidationContext)">
            <summary>
            Perform the validation logic associated with this rule.
            </summary>
            <param name="validationContext">The validation context.</param>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.PresenceValidationRule.DefaultMessage">
            <summary>
            Returns the default error message format string.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.PresenceValidationRule.AllowEmptyString">
            <summary>
            Gets or sets whether the empty string is treated as present.
            The default value is false, i.e. the empty string is treated as
            not present and will cause a validation failure.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidationError">
            <summary>
            Represents a single validation error.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationError.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the
            current <see cref="T:Mindscape.LightSpeed.Validation.ValidationError"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the current
            <see cref="T:Mindscape.LightSpeed.Validation.ValidationError"/>.
            </returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationError.AssociatedEntity">
            <summary>
            If the error is that an associated object is invalid, gets the associated
            object.  Otherwise, returns null.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationError.PropertyName">
            <summary>
            Gets the name of the property in error.
            </summary>
            <value>The name of the property in error.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationError.ErrorMessage">
            <summary>
            Gets the error message.
            </summary>
            <value>The error message.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationError.RuleType">
            <summary>
            Gets the type of <see cref="T:Mindscape.LightSpeed.Validation.ValidationRule"/> that raised this <see cref="T:Mindscape.LightSpeed.Validation.ValidationError"/>.
            </summary>
            <remarks>This may be null if the error does not correspond to a specific rule (for example, an 'associated entity has errors' error)
            or a custom validation rule does not provide the information when raising the error.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationError.Rule">
            <summary>
            Gets the <see cref="T:Mindscape.LightSpeed.Validation.ValidationRule"/> that raised this <see cref="T:Mindscape.LightSpeed.Validation.ValidationError"/>.
            </summary>
            <remarks>This may be null if the error does not correspond to a specific rule (for example, an 'associated entity has errors' error)
            or a custom validation rule does not provide the information when raising the error.  The validation rule is copied before being
            returned; you cannot modify the validation through this rule reference.</remarks>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationError.ChildErrors">
            <summary>
            Returns the list of errors for an invalid associated object.
            </summary>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidationContext">
            <summary>
            The context passed to a <see cref="T:Mindscape.LightSpeed.Validation.ValidationRule"/>.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationContext.AddError(System.String)">
            <summary>
            Adds a validation error.
            </summary>
            <param name="errorMessage">The error message.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationContext.AddError(System.String,Mindscape.LightSpeed.Validation.ValidationRule)">
            <summary>
            Adds a validation error.
            </summary>
            <param name="errorMessage">The error message.</param>
            <param name="rule">The rule adding the validation error.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationContext.AddError(Mindscape.LightSpeed.Validation.ValidationError)">
            <summary>
            Adds a validation error.
            </summary>
            <param name="validationError">The <see cref="T:Mindscape.LightSpeed.Validation.ValidationError"/></param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationContext.GetAttributeValue(System.String)">
            <summary>
            Gets the value of the named attribute on the target <see cref="P:Mindscape.LightSpeed.Validation.ValidationContext.Entity"/>.
            </summary>
            <param name="attributeName">The name of the attribute.</param>
            <returns>The attribute value.</returns>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationContext.DisconnectedDisplayNameStrategy">
            <summary>
            Gets or sets the display naming strategy to be used by validation contexts which
            are not part of a unit of work.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationContext.UnitOfWork">
            <summary>
            The current <see cref="T:Mindscape.LightSpeed.IUnitOfWork"/> if one exists; otherwise null.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationContext.Entity">
            <summary>
            The <see cref="P:Mindscape.LightSpeed.Validation.ValidationContext.Entity"/> being validated.
            </summary>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationContext.TargetValue">
            <summary>
            Gets the target value.
            </summary>
            <value>The target value.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationContext.TargetName">
            <summary>
            Gets the target name.
            </summary>
            <value>The target name.</value>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationContext.TargetValueIsDefault">
            <summary>
            Gets a value indicating whether <see cref="P:Mindscape.LightSpeed.Validation.ValidationContext.TargetValue"/> is the default
            value for its type.
            </summary>
            <value>
            	<c>true</c> if <see cref="P:Mindscape.LightSpeed.Validation.ValidationContext.TargetValue"/> is the default
              value for it's type; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Mindscape.LightSpeed.Validation.ValidationErrorCollection">
            <summary>
            A read-only, bindable collection of <see cref="T:Mindscape.LightSpeed.Validation.ValidationError"/>s.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationErrorCollection.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the
            current <see cref="T:System.Object"></see>.
            </summary>
            
            <returns>
            A <see cref="T:System.String"></see> that represents the current
             <see cref="T:System.Object"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationErrorCollection.AddError(System.String,System.String)">
            <summary>
            Adds an error to the collection.
            </summary>
            <param name="propertyName">Name of the property in error.</param>
            <param name="errorMessage">The error message.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationErrorCollection.AddError(System.String,System.String,Mindscape.LightSpeed.Validation.ValidationRule)">
            <summary>
            Adds an error to the collection.
            </summary>
            <param name="propertyName">Name of the property in error.</param>
            <param name="errorMessage">The error message.</param>
            <param name="rule">The validation rule raising the error.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationErrorCollection.AddError(System.String)">
            <summary>
            Adds an error to the collection.
            </summary>
            <param name="errorMessage">The error message.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationErrorCollection.ClearItems">
            <summary>
            Removes all elements from the collection.
            </summary>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationErrorCollection.AddNewCore">
            <summary>
            Adds a new item to the end of the collection.
            </summary>
            <returns>
            The item that was added to the collection.
            </returns>
            <exception cref="T:System.InvalidCastException">The new item is not
            the same type as the objects contained in the <see cref="T:System.ComponentModel.BindingList`1"></see>.</exception>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationErrorCollection.InsertItem(System.Int32,Mindscape.LightSpeed.Validation.ValidationError)">
            <summary>
            Inserts the specified item in the list at the specified index.
            </summary>
            <param name="index">The zero-based index where the item is to be inserted.</param>
            <param name="item">The item to insert in the list.</param>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationErrorCollection.RemoveItem(System.Int32)">
            <summary>
            Removes the item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
            <exception cref="T:System.NotSupportedException">You are removing a newly
            added item and <see cref="P:System.ComponentModel.IBindingList.AllowRemove"></see> is set to false. </exception>
        </member>
        <member name="M:Mindscape.LightSpeed.Validation.ValidationErrorCollection.SetItem(System.Int32,Mindscape.LightSpeed.Validation.ValidationError)">
            <summary>
            Replaces the item at the specified index with the specified item.
            </summary>
            <param name="index">The zero-based index of the item to replace.</param>
            <param name="item">The new value for the item at the specified index. The value can be null for reference types.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less
            than zero.-or-index is greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"></see>.</exception>
        </member>
        <member name="P:Mindscape.LightSpeed.Validation.ValidationErrorCollection.Item(System.String)">
            <summary>
            Gets the error message for the property with the given name.
            </summary>
            <param name="propertyName">The name of the property whose error message to get.</param>
            <returns>The error message for the property. The default is an empty string ("").</returns>
        </member>
    </members>
</doc>
